• Strona główna
  • Curriculum Vitae
  • O mnie
  • Mapa strony
  • Kontakt
Niebieski Pomarańczowy Zielony Różowy Fioletowy

Yii PHP Framework vs Symphony

Opublikowane 3 marca 2010. Autor: Kamil Brenk. Wizyt: 316.

Kategorie: PHP
Tematyka: framework, PHP, Symphony, Yii PHP Framework

mar 03

Postanowiłem się zabrać za naukę jakiegoś systemu framework dla języka PHP. Wybór jest ogromny, jednak po zapoznaniu się z opiniami innych programistów, jak i wymaganiami pracodawców w tym zakresie, wybór zawęziłem do Yii PHP Framework oraz Symfony. W poście tym postaram się wyszczególnić wszelkie za i przeciw.

Yii PHP Framework 1.0.2Symfony 1.3.2
  • framework z wciąż nieliczną społecznością, zwłaszcza wśród Polaków – oznacza to małe wsparcie ze strony innych programistów, mniej osób “wyłapujących” błędy,
  • spora sława zrębu sprawiła, iż przyciąga on do siebie nowe rzesze programistów wciąż poszukujących idealnego frameworku – część z nich z pewnością pozostanie przy tym projekcie.
  • framework z ogromną społecznością – większe wsparcie, więcej materiałów edukacyjnych, większa rzesza programistów czuwających i opiekujących się projektem.
  • stworzony w styczniu 2008r. – krótki okres istnienia tego systemu nie sprzyja zbyt dobrze rozwojowi – mniejsze możliwości niż w konkurencie, Symfony,
  • projekt nie jest zbyt “dojrzały”, wciąż jest intensywnie rozbudowywany, co będzie skutkować licznymi aktualizacjami i koniecznością bieżącej nauki wciąż dochodzących usprawnień (ma to swoje dobre i złe strony).
  • stworzony w 2005r. – od tego czasu wciąż rozwijany, debugowany i testowany przez miliony sympatyków, co sprawia, iż jest bardzo stabilny i rozwinięty.
  • posiada wszystko co powinien mieć praktyczny framework – nauka jest bardzo prosta i przyjemna,
  • naukę ułatwia znakomita dokumentacja, częściowo przetłumaczona na język polski (działy wprowadzające w naukę),
  • framework powstał za czasów PHP 5.2, przez co dubluje trochę funkcjonalności, które pojawiły się w wersji 5.3 (struktury danych, formatowanie warunkowe w systemie tłumaczeń).
  • ogrom usprawnień/ułatwień – to co wg autorów ma ułatwiać i przyśpieszać pracę programistów stanowi niekiedy barierę nie do pokonania dla początkujących – nauka zajmuje mnóstwo czasu,
  • gdy już poznamy możliwości i nauczymy się pracować na tym frameworku, praca staje się dużo wydajniejsza i przyjemniejsza,
  • większość dostarczonych przez autorów możliwości nigdy się nie wykorzystuje – jedynie obciążają system i zmniejszają wydajność.
  • brak wielu bibliotek i narzędzi ułatwiających pracę, od których roi się w Symfony.
  • m.in. sfBaseTask – możliwość tworzenia w bajecznie prosty sposób zadań dla unikowego CRON’a.
  • przyszłość jest wciąż niejasna,
  • framework w obecnej wersji wyprzedza inne systemy pod względem wydajności – performance of Yii.
  • spore perspektywy rozwoju – niebawem ma pojawić się wersja 2.0,
  • nowa wersja Symfony 2.0 ma być jednym z najszybszych frameworków dla języka PHP. Na stronie nowego projektu jest benchmark wskazujący przewagę nad innymi systemami – także Yii 1.1.

Powyższe porównanie jest dość skromne i jedynie teoretycznie (dane te nie były faktycznie testowane przeze mnie, a stanowią jedynie moje odczucia do tych systemów).

W celu lepszej analizy wypadałoby napisać kilka benchmarków, lecz nie mam większego doświadczenia przy wykorzystaniu tych systemów – w końcu dopiero przymierzam się do rozpoczęcia pracy w którymś z nich. Dlatego w porównaniu oparłem się jedynie na testach i analizach dostępnych w Internecie.

Podsumowanie

Niewątpliwie oba powyższe framework są bardzo dobre. Dają obsługę wszystkiego czego programiście potrzeba przy pracy nad projektem, jak i wciąż są rozwijane i ulepszane.

W porównaniu można by także uwzględnić Zend Framework, jednak słyszałem wiele negatywnych opinii o małej wydajności, dlatego zrezygnowałem z niego na starcie.

Na chwilę obecną zdecydowałem się zabrać za Yii. Powodem jest duża wydajność i szybkość działania, jak i prostota nauki. Jako iż jestem leniwy, wybieram drogę na skróty :-)

Komentarze (9)

  1. Michal Wachowski 4 marca 2010

    [..]większość dostarczonych przez autorów możliwości nigdy się nie wykorzystuje – jedynie obciążają system i zmniejszają wydajność[..]
    To można zarzucić prawie wszystkim frameworkom.

  2. Kamil Brenk 4 marca 2010

    Dokładnie. Ma to też swoje zalety, ponieważ czasem potrzebujemy rzadkiej funkcjonalności, a okazuje się, że framework ma już ją wbudowaną i nie trzeba samemu pisać kolejnego koła :)

  3. thejw23 16 marca 2010

    w symfony dochodzi problem z kompatybilnoscia wsteczna – spory problem, ile to juz razy byla ona de facto lamana (czytaj – migracja zajela by tyle czasu, ze bylo to zajecie kompletnie bez sensu)…

    framework, ktory jest jednym wielkim generatorem wszyskiego musi miec wieksze obciazenie niz cos co wspomaga, a nie generuje gotowce. KohanaPHP jest moim zdaniem bardzo przyjemnym frameworkiem, wlasnie dlatego, ze mam pelna kontrole nad aplikacja i systemem. jak cos mi sie nie podoba, to jestem w stanie bardzo szybko poprawic domyslna funkcjonalnosc. no i nie musze czytac 40 stron dokumentacji aby stworzyc formularz, zrobic walidacje i zapisac dane do bazy.

    yii mam zamiar poznac, wiec nie wyrokuje na razie. wstepnie wyglada ok, tj. jest gdzies w polowie drogi miedzy KohanaPHP a symfony. czyli jest lekka i wspiera generowanie roznych rzeczy, ale jest to trzymane w ryzach i duzo latwiej kontrolowac aplikacje niz ma to miejsce w symfony.

    jesli chodzi o popularnosc frameworkow, to ZF ma duza bo jest to Zend – ma to spore znaczenie np. dla firm, zatrudnienia, ofert pracy i tak dalej. symfony ma duza, bo jest w miare latwa w napisaniu pierwszych aplikacji – generatory nie wymagaja wiedzy, tylko prostych tutoriali. plus symfony/ZF maja opinie frameworkow bardziej PRO niz reszta. w zwiazku z tym sporo sie przy tych FW dzieje, ludzie sie nimi interesuja. a inne, takie jak Yii czy KohanaPHP zyja troche w tle – sa raczej dla tych, ktorzy swiadomie wybieraja ten, a nie inny framework, bo dokladnie znaja swoje potrzeby i wola na tych FW opierac wlasne rozwiazania dajace im sporo wolnosci przy pisaniu aplikacji, niz siedziec na ZF czy symfony czujac ich ograniczenia.

    a nawet jesli idee przyswiecajace danemu FW sa swietne, to nie znaczy, ze praktycznie ich uzywanie bedzie wygodne. po prostu trzeba wybrac taki FW w ktorym sie najlepiej czujemy. nie wazne co to bedzie, grunt to tworzyc dobre aplikacje w wygodny dla nas sposob. dlatego benchmarki czy zestawienia costam VS costam sa srednio przydatne. nic nie powiedza o tym co najwazniejsze: wygodzie kodowania.

  4. Kamil Brenk 17 marca 2010

    Na symfony nie mialem jeszcze okazji pracować, jednak przy wyjściu nowej wersji bardzo możliwe, że podejdę do zabawy ;) do Zenda jakoś nieszczególnie mnie ciągnie.

    Jako ciekawostkę dodam, iż będąc ostatnio na rozmowie kwalifikacyjnej na stanowisko programisty PHP dowiedziałem się, że firemka ta zamierza budować aplikacje głównie w oparciu o Yii. Stąd moje zainteresowanie tym FW :)

  5. peter 31 maja 2010

    Yii jest super! Kiedyś pisałem w PRADO, następnie postanowiłem rozpocząć naukę kolejnego frameworka. Zacząłem uczyć się zenda, symfony i yii, po tygodniu dla każdego. Yii zacząłem ostatnie i juz przy nim zostałem. Polecam każdemu kto poszukuje idealnego frameworka. :)

  6. Michal Wachowski 27 czerwca 2010

    Odświeżając nieco temat.
    Jakiś czas temu, miałem więcej wolnego czasu i poświęciłem go na poznanie Yii i Kohany… Niestety, tak samo jak Symphony i Zend – nie podeszły mi.

    Drażnią mnie niektóre rozwiązania, sposoby robienia tego i owego.
    Wciąż pozostaję przy swoim – Kamil miał okazję go obejrzeć – a od tego czasu jeszcze się w nim ciut pozmieniało :) (trzeba mu będzie wysłać kolejną wersję do obejrzenia :D)

  7. Kamil Brenk 28 czerwca 2010

    @Michal: Jak tylko uporam się z Mechaniką techniczną, jakimiś momentami bezwzględnymi i innymi pierdołami to z chęcią przetestuję nową wersję tego frameworka :-)

    Swoją drogą, coraz bardziej przekonuję się do różnego rodzaju fw. Bardzo ułatwiają życie, wszystko jest wbudowane, życie staje się łatwiejsze. Z drugiej strony to uczy lenistwa i nie zawsze wiem co dzieje się w tle, wywołując jakąś metodę/klasę ;)

    Choć tak jak kiedyś nie korzystałem z żadnych fw w JavaScript, tak dzisiaj nie mogę się bez nich obejść. Myślę, że niedługo także i do PHP będę miał takie podejście, co ma swoje dobre i złe strony.

  8. Michal Wachowski 29 czerwca 2010

    Też mnie wkurzał kiedyś brak wiedzy “co dzieje się w tle” – dlatego napisałem swój, by wiedzieć.

  9. Krzysztof Krakowiak 29 czerwca 2010

    Od początku roku siedzę w symfony, ogólnie to jest super bo jest doctrine i baza danych w schemie (cala baze mam zdefiniowana w pliku yaml), ale np gdy przychodzi np do zrobienia bardzo zagniezdzonego formularza to jak dla mnie to wtedy przychodzi prawdziwa męczarnia. Inny minus aktualnie mam 5 hostingów, ale tylko jeden ma shella i na tym hostingu symfony czasami strasznie muli… Dlatego co jakis czas bawie się Yii, ale tu znów trafiam na takie pierdoły które mnie zniechęcają, np jedną opisałem tutaj:

    http://www.yiiframework.com/forum/index.php?/topic/9901-cactivedataprovider-many-to-many-and-contition/

    nie mogę w prosty sposób dodać criteria aby ograniczyć wyświetlanych produktów do danej kategorii, ktoś podał rozwiązanie, ale…



Dodaj komentarz

XHTML: Możesz użyć następujących tagów
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang="" escaped=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Kamil Brenk Blog

PHP, JavaScript, SQL, HTML

  • Informacje o blogu

    Kamil Brenk

    Blog o tworzeniu aplikacji na potrzeby sieci Web.

    Praktyczne przykłady, porady i sztuczki. PHP, SQL, AJAX, JavaScript, HTML i pochodne.

    Kanał RSS

    • Najnowsze
    • Komentarze
    • Popularne
    • Konwersja JS i CSS do PNG
    • Optymalizacja wyrażeń regularnych
    • Cross-Domain JavaScript
    • Kompendium programisty #1
    • Jak pobierać zewnętrzne zasoby?
    • 960 Grid System
    • Kamil Brenk: @eN: Nie sposób się nie zgodzić z tym co piszesz, masz...
    • Michal Wachowski: To jest na prawdę szalone :D
    • The one: Zarąbista gierka :D
    • eN.: Problem w tym że nie zwracają tego samego, a dokładniej1...
    • Michal Wachowski: DAS - deterministyczne automaty skończone, AS - to samo ale bez...
    • Kamil Brenk: DAS / AS? Pierwsze słyszę :-) Raczej nie będę już miał...
    • Michal Wachowski: Jak na studiach będziesz mieć AS i DAS to wiele się wyjaśni...
    • Gramatyka w PHP, część 1
    • Projekt aplikacji po stronie klienta
    • Optymalizacja wyrażeń regularnych
    • Yii PHP Framework vs Symphony
    • Minimalizacja zapytań HTTP
    • Jak pobierać zewnętrzne zasoby?
    • Usługi sieciowe w PHP: REST
  • Szukajka
    Wpisz co chcesz wyszukać na stronie…
  • Kategorie
    • Apache
    • Front-end Development
    • HTML5 & CSS3
    • Inne
    • JavaScript
    • PHP
    • Po godzinach
    • Protokół HTTP
    • SQL
    • Wyrażenia regularne
  • Moje serwisy
    • Testy zawodowe
    • Miłość, uczucia i seks
  • Czytane blogi
    • Wojciech Sznapka
    • Wojciech Soczyński
    • Dzienniki zyxowe
    • Przemysław "eRIZ" Pawliczuk
  • Archiwum
    • sierpień 2010
    • lipiec 2010
    • czerwiec 2010
    • maj 2010
    • kwiecień 2010
    • marzec 2010
    • luty 2010
    • styczeń 2010
  • Strona główna
  • Curriculum Vitae
  • O mnie
  • Mapa strony
  • Kontakt

Kamil Brenk © 2010. All rights reserved.

Designed by FTL Wordpress Themes brought to you by Smashing Magazine.

Do góry ∧