Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [wszystkie] Kolejność nauki frameworków.
Forum PHP.pl > Forum > PHP > Frameworki
kodereq
Witam.

Średnio orientuję się we Frameworkach, ale chciałbym przebrnąć przez tą dziedzinę programowania.

Wydaje mi się, że najlepiej jest popróbować doświadczeń z każdym po kolei. Dobrze, tylko w jakiej kolejności ?
Wstępnie mój rys wygląda tak:

1. Code Igniter + Kohana (jakiś lekki projekt w celu zrozumienia istoty frameworków)
2. CakePHP (dla zasady)
3. Symfony (coś trochę większego, ale nadal prostego)
4. Zend Framework (próba porwania się na coś dużego - może w dalekiej przyszłości zostanie przy tej technologii, zdobywanie doświadczenia oraz próba zdania certyfikatu).

Bardzo proszę o sugestie w tej ścieżce rozwoju. Może coś pominąłem ? Może macie inne zalecenia ? Będę bardzo wdzięczny za pomoc.
kosmowariat
.... a na koniec napiszesz swój własny aaevil.gif Wiesz, jest takie powiedzenie - "jak ktoś jest od wszystkiego to jest od niczego". Według mnie nie ma sensu poznawac wszystkich, tym bardziej "dla zasady". Lepiej zadac sobie pytanie czego potrzebujemy i dobrac frame do naszych potrzeb, a wrazie gdy zajdzie koniecznosc opanowac nowy. Gdy opanujesz dobrze np ZF, to sądzę że będziesz na tyle dobrym i doświadczonym programistą że nauka nowych frame'ów to będzie pikuś. Ja postawiłem na Zenda i nie żałuję. Teraz uczę się pythonowego django, a także rozważam opanowanie symfony, które w połączeniu z Zendem i Doctrine może byc potężnym narzędziem do wydajnego tworzenia aplikacji. Tyle ode mnie. Pozdro.
LBO
Istotą korzystania z frameworka nie jest jego nauka sama w sobie (chodź to tez procentuje), a przydatnośc jako narzędzie - szybkość tworzenia oprogramowania i jakośc kodu.
W tym kontekście Twoja lista nie trzyma się kupy, bo takie stopniowanie jest bez sensu.

ad 1 Kohana to mały i prościutki frameworczek, aczkolwiek całkiem ładnie napisany i nie wstydziłbym się czegoś na Nim postawić. Uważam, że dla poczatkującego w sam raz, ale z czasem na pewno będziesz chciał coś z większymi możliwościami. CI pominę, bo nie jest rozwijany.
ad 2. Cake to dno i badziew. Trzyma się PHP4... a Ty chyba nie chcesz się cofać?
ad 3 i 4 ZF i SF są duże frameworki - jeden i drugi. Ostatnimi czasy zaistniała walka, na miarę windows vs. Linux, pomiędzy Ich uzytkownikami. Oba reprezentują zupełnie odmienną architekturę i podejście do tworzenia aplikacji. Należałoby z poczatku je poznać na własną rękę. Nie opieraj się na opiniach Innych, lecz rób tyle, żeby móc wydać własną.
plurr
Sam zaczynalem od CI, pozniej Kohana, nastepnie bardzo latwo przenioslem sie na Zenda. Podobno Kohana dosyc dynamicznie sie rozwija, ale kiedys nie mialem problemu z przesiadka Kohana -> Zend, bardzo duze podobienstwo.

Wg mnie masz wybor ograniczony do Zend i Symfony.

Zend jest napewno prostrzy, jednak swoja elastycznoscia moze uczyc zlych nawykow. Z drugiej strony, idize w strone symfony, zaczyna byc coraz to bardziej hermetyczny - np mozesz teraz jak w symfony, tworzyc caly projekt odpalajac skrypt incubator'a. (przynajmiej tak to ma dzialac, nie probowalem jeszcze)
Uwazam, ze symfony to poziom wyzej, chociazby ze wzgledu na ORM.

Warto poznac te dwa FM, przynajmiej po to,zeby sie dalej rozwijac albo zeby byc atrakcyjniejszym na rynku pracy.
kodereq
Serdecznie dziękuję za odpowiedzi. Bardzo cenię Wasze rady i staram się odwdzięczać, klikając "POMÓGŁ".

Powiedzcie, czy inne frameworki oprócz wymienionych można pominąć ?

Jak jest z szybkością powiedzmy w średnio-dużych aplikacjach typu społecznościówka ?


Warto inwestować w coś kobylastego jak Symphony, czy może lepiej coś lżejszego, szybszego + własne klasy pomocnicze ? Zaznaczam, iż oglądnąłem już z 10 porównań dostępnych frameworków - jednak zależy mi na Waszej opinii - programistów na co dzień z nich korzystających, zajmujących się optymalizacją własnych aplikacji oraz oczywiście ich tworzeniem na najwyższym poziomie ...
LBO
Ja na przykład ponad wszystko cenię sobie agavi - framework bardzo niszowy, z prawie nieistniejącą dokumentacją w dodatku przeznaczony dla bardziej zaawansowanych developerów.

Przebrnięcie przez Jego kod do najłatwiejszych nie należy - ale ten framework to dzieło sztuki.
Niestety z powodu niewielkiej społeczności i kiepskiej dokumentacji bardzo niedoceniany, dlatego przekwalifikowałem się na Symfony smile.gif Jak ktoś już stwierdził - trzeba być atrakcyjnym na rynku pracy.
kodereq
Cytat
Ja na przykład ponad wszystko cenię sobie agavi - framework bardzo niszowy, z prawie nieistniejącą dokumentacją w dodatku przeznaczony dla bardziej zaawansowanych developerów.


Ściągnąłem sobie ten framework, rzeczywiście wydaje się trochę straszny, już sama struktura katalogów. Dziękuję bardzo, że o nim wspomniałeś, zawsze jakieś poszerzenie horyzontów.
kosmowariat
Tak jak przedmówcy wspomnieli warto wiedziec czego szuka rynek pracy. Warto więc przejrzec oferty pracy pod kątem wymaganych/mile widzianych frameworków. LBO wspomniał o "walce" Zend vs Symfony. Ja sądzę że warto znac oba ;]. Czytałem o tym że ludzie wykorzystują połączenie ZF + Symfony, gdzie symfony np. odpowiada za MVC a dodatkowo wykorzystywane są klasy Zendowskie do np. Lucene, Google API etc
Foxx
Ja tylko dodam, że w tym dziale jest przyklejony temat:
Temat: Wybor_Frameworka
kodereq
Cytat(Foxx @ 27.02.2009, 12:20:55 ) *
Ja tylko dodam, że w tym dziale jest przyklejony temat:
Temat: Wybor_Frameworka


Dzięki za sugestię, jednak ja pytam o sposób (kolejność) nauki, więc to trochę inna kwestia. Niestety się minimalnie offtop zrobił, tak bywa czasami.
c3zi
@LBO Możesz napisać co takiego ma agavi, czego nie ma np. Symfony ?
athabus
Myślę, że jako pierwszy framework powinieneś wybrać albo Kohana albo Symfony.
Jeśli jesteś ogólnie w php krótko to wybierz Kohaną, bo tak jak już wspomniano jest do bólu prosta (w pozytywnym sensie).
Jeśli już trochę w php siedzisz to lepszym wyborem będzie Symfony. Ale podchodząc do Symfony musisz mieć świadomość, że ucząc się Symfony musisz poznać wiele nowych narzędzi typu ORM, stosowanie YML, stosowanie skryptów generujących cośtam, Prototype itp itd. Ogólnie warto, ale na początku możesz być trochę zagubiony i nie zrozumieć całej "potęgi" tego frameworka. Ja dawno dawno temu, gdy byłem właśnie na podbnym etapie wyboru pierwszego frameworka wybrałem symfony... i nie udało mi się go nawet uruchomić wstydnis.gif Potem był CI i Zend, ale po jakimś czasie gdy już trochę opanowałem php wróciłem do Symfony i tak już zostało.

Zend jest również ciekawym frameworkiem, ale raczej silnie odradzam na początek. Jeśli chcesz zrozumieć o co chodzi we frameworkach to warto wybrać coś co jest już frameworkiem gotowym do użycia. Zend to jest zestaw klocków z którego musisz sobie sam złożyć framework (a uwierz, że nie zrobisz tego dobrze jeśli nie masz jakiejś wizji, a skoro nie stosujesz frameworków to jej nie masz). Myślę, że Zend jest dobrym pomysłem jako 2 lub kolejny framework - wtedy wyciśniesz z niego na pewno dużo.

Co do prędkości to ogólna zasada jest imho taka, że im bardziej framework rozbudowany tym wolniejszy. Także w prostych zastosowaniach Zend i Sf będą raczej wolniejsze od Kohanej - ale znowu znając dobrze dany framework możesz "przyciąć" go do danego celu i dostroić np. stosując cachowanie (np. symfony ma bardzo przyjemne i proste cachowanie).
kodereq
Dzięki jeszcze raz za rady.

Wstępnie planowałbym zebrać siły i postawić jakiś prosty serwis - tasiemiec (w stylu ogłoszenia, lub zbiór filmików) na Kohanie.
Potem rzeczywiście uderzałbym w Symfony.
mike
Cytat(kodereq @ 27.02.2009, 13:03:10 ) *
Potem rzeczywiście uderzałbym w Symphony.
Juz drugi raz piszesz Symphony więc zwrócę uwagę.
Nie ma takiego frameworka.

The Definitive Guide to symfony :: Introducing Symfony
Cytat
Why "symfony" and not "FooBarFramework"? Because Fabien wanted a short name containing an s, as in Sensio, and an f, as in framework--easy to remember and not associated with another development tool. Also, he doesn't like capital letters. symfony was close enough, even if not completely English, and it was also available as a project name. The other alternative was "baguette".
LBO
Cytat(c3zi @ 27.02.2009, 12:27:49 ) *
@LBO Możesz napisać co takiego ma agavi, czego nie ma np. Symfony ?

Tu nie chodzi o to co ma, a czego nie ma. Raczej - jak w przypadku ZF i Sf - o architekturę.

Nie ma czegoś takiego jak generatory gotowych modułów (chociaż są genratory szkieletów etc), ale na przykład warstwa widoku, czy routing bije na głowę to co widzę w Sf. Kod Agavi to piece of art.

Tutaj kilka moich zdań o agavi na Stack Overflow.

Polecam również video z konferencji PhpLondon 2008.
kodereq
Rzeczywiście ... nawet nie zauważyłem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.