Casting na pierwszy framework

Nadszedł wreszcie czas, kiedy znudziło mi się pisanie każdej aplikacji od podstaw. Oczywiście dorobiłam się w między czasie całego zbioru wygodnych klas, czy funkcji, które nieznacznie tylko modyfikowałam dla potrzeb kolejnych projektów. Jednak lubię uczyć się nowych rzeczy, więc decyzja zapadła. Trzeba zacząć używać frameworków. Po cichu oczywiście mam nadzieję, że to zwiększy moją wydajność.

Na początek spreparowałam sobie listę kandydatów:

  1. cakePHP
  2. CodeIgniter
  3. Agavi
  4. KohanaPHP
  5. Symfony
  6. ZendFramework

Wersja PHP – kryterium pierwsze

Dwa frameworki zajmujące pierwsze pozycje na mojej liscie wydały się atrakcyjne z tego prostego powodu, ze do tej pory programuje właściwie w PHP4. Kuszące więc było sięgnięcie po narzędzie, które właśnie w tej wersji PHP pracuje. Jednak po namyśle odrzuciłam ten pomysł jako niedorzeczny. W końcu nie mam się cofać a rozwijać, więc skaczemy na głęboką wodę i wchodzimy w PHP5. Tak więc dwóch pierwszych kandydatów odpadło.

Architektura – kryterium drugie

Z pozostałych na mojej liście frameworków właściwie każdy prezentuje odmienną filozofię tworzenia aplikacji. Wprawdzie we wszystkich przypadkach da się zastosować wzorzec MVC, ale jedne trzymają się tego modelu ściśle a inne pozwalają na pewną dowolność. No i oczywiście realizacja tego modelu w każdym przypadku jest nieco odmienna.

Na tym etapie selekcji odpadł ZendFramework. Wprawdzie jest bardzo zachwalany i podobno wydajny, ale w zasadzie to tylko zbiór wygodnych klas, które można sobie zestawiać niemal w dowolny sposób. Jednym słowem wcale nie wymusza wzorca MVC. Dla niektórych to właśnie jest fajne i wygodne, ale ja wole jednak mieć jakiś reżim i określony standard.

Możliwości w stosunku do potrzeb – kryterium trzecie

Właściwie tego frameworka to nie chcę się uczyć dla samego tylko poznania, ale mam do zrobienia pewien konkretny projekt. Jako, że pracuję w jednoosobowym zespole nie spodziewam się, żebym w najbliższym czasie miała do zrobienia naprawdę duże i rozbudowane projekty. Dlatego też na tym etapie wyeliminowałam Symfony. Wielu ludzi zachwala możliwości tego frameworka. Automatyczne tworzenie bazy po jej zaprojektowaniu, duża automatyzacja jeśli chodzi o połączenie z bazą i pobieranie danych i wiele innych przydatnych funkcjonalności czyni z tego frameworka naprawdę potężne narzędzie. Pozostaje tylko jedno ale. Nie strzela się z armaty jak się chce upolować muchę. Nie skreślam Symfony na zawsze, ale na razie potrzebuje czegoś lekkiego a Symfony takie nie jest, więc idzie w odstawkę.

Zwycięża Kohana

No i w ostatecznym rozrachunku ostał mi się właściwie tylko jeden framework. Agavi jest jeszcze za młodym projektem, żeby w niego inwestować (tak mi sie przynajmniej wydaje). Kohana wywodzi się w prostej linii z CodeIgniter i dość dynamicznie się rozwija. Jej achillesową pięta jest wprawdzie dokumentacja, ale może jakoś sobie poradzę w tym gąszczu, tym bardziej, ze istnieje polski serwis Kohana wraz z forum i mimo, ze ostatnio były jakieś przerwy w jego działaniu wygląda na to, ze można liczyć na pomoc bardziej zorientowanych użytkowników tego frameworka. Oczywiście zawsze można zajrzeć na oficjalną stronę Kohana i próbować przebijać się przez różne zamieszczone na niej tutoriale. A skoro wybór został dokonany to pora zabierać się za poznawanie frameworka i wprowadzanie w życie przyswojonej wiedzy.

5 komentarzy do wpisu „Casting na pierwszy framework”

  1. Polskie forum nie działało raptem kilka godzin (przeprowadzka?) więc nawet nie ma sensu o tym wspominać ;) Rozsądny ten tekst, jestem zaskoczony :P (nie żebym sugerował, że autorka jest nie rozsądna ;) Po prostu większość tekstów nt. wyboru FW jest mało obiektywna).

  2. Niedawno, próbowałem zacząć nauki kohany, ale zraził mnie brak polskiej dokumentacji, w związku z tym na początek wziąłem się za code ignitera. Zastanawiam, się teraz czy zostać przy nim, czy kohana oferuje jednak na tyle większe możliwości, że opłaca sie jednak zmienić frameworka?

  3. Dla mnie istotne było (choć może nie podkreśliłam tego dostatecznie mocno), że w przeciwieństwie do CI Kohana bazuje na PHP5 a wiadomo już z całą pewnością, że pod tym względem CI nie będzie rozwijany. To jego poważna wada. A dokumentacja po angielski nie jest taka zła jak się wydaje. Poza tym bardzo prężnie rozwija się polska społeczność Kohana, więc idzie ku dobremu.

  4. Witaj,

    Ciekawy wybór. Przeglądałem kod FW Kohana i sprawia faktycznie “przyjemnie napisany skrypt”. Napisalaś, że to twój pierwszy wybór i myślę, że trafiony choć konkurencją mógłby być też YII, Prado a ostatnio pojawił się też ciekawy framework Lithium (napisany w PHP 5.3). Wiem, że mój komentarz jest rok po Twoim poście, więc Twoje preferencje mogły się od tego czasu zmienić, niemniej moim zdaniem jednym z najpotężniejszych obecnie FW jest Symfony. Poza jego możliwościami i dużą automatyzacją wykonywania żmudnych czynności, Symfony zdaje się, że idzie w bardzo dobrym kierunku. Benchmarki dla następnej wersji planowanej na koniec 2010 pokazują, że team Symfony nie dolożył do kolejnej wersji następnych wygodnych rozwiązań ale poszedł znacznie dalej, przepisująć silnik tego frameworka. Poza tym na horyzoncie pojawiają się dwa CMSy oparte na Symfony: Sympal (nazwa nie przypadkowo nawiązuje do Drupal-a) oraz Diem. Wracając jednak do Twojego wyboru to zachęcam Cię do zapoznania się z Symfony, choć wiem, że pierwsze starcia z nim nie były (przynajmniej dla mnie) łatwe.

    Pozdrawiam!

Leave a Reply

%d bloggers like this: