• 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: 2 966.

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 :-)

Podobne wpisy

  • PHP kontra Microsoft Office, part I
  • Wysyłanie wiadomości SMS w PHP
  • Boilerplate 2.0
  • jQuery.extends dla PHP
  • Przyszłość PHP

Komentarze (11)

  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…

  10. program futro 25 sierpnia 2011

    Właśnie stoję przed wyborem jaki framework wybrać do budowy strony. i decyzja padła na symfony choć obawiam się czy będzie wystarczająco szybki

  11. Kamil Brenk 25 sierpnia 2011

    Symfony 2 zdecydowanie warto poznać :) Gdybym na dzień dzisiejszy miał wybierać framework to zapewne padłoby właśnie na Symfony (choć Yii jest dużo prostszy w nauce, lecz co z tym związane, nadaje się raczej do mniejszych projektów).



Dodaj komentarz

XHTML: Możesz użyć następujących tagów
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <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
    • Gramatyka w HTML i CSS
    • PHP kontra Microsoft Office, part I
    • Cross-Domain JavaScript: CORS
    • Wysyłanie wiadomości SMS w PHP
    • Boilerplate 2.0
    • Własne selektory w jQuery
    • Kamil Brenk: @Michał:1) jak już otrzymam dyplom to zrobię serię o...
    • Michal Wachowski: Po pierwsze - tyle czekania i tylko to? A bu! :) Po drugie -...
    • Kamil Brenk: @CapaciousCore: języki kompilowane są szybsze niż...
    • CapaciousCore: @Kamil Brenk wiem, że komentarze i post nie są uber świeże....
    • Kamil Brenk: @CapaciousCore: post i komentarze napisane ponad rok temu;...
    • CapaciousCore: Przebrnąłem przez te wszystkie komentarze i mam trochę...
    • Kamil Brenk: @arhiman: dzięki za komentarz :)A to dziwne co piszesz, bo...
    • Przyszłość PHP
    • Niestandardowe czcionki na stronie
    • Gramatyka w PHP, część 1
    • Umowa i zaliczka dla freelancera
    • Projekt aplikacji po stronie klienta
    • Własny mechanizm Feed
    • jQuery.extends dla PHP
  • Szukajka
    Wpisz co chcesz wyszukać na stronie…
  • Kategorie
    • Apache
    • Freelancer
    • Front-end Development
    • HTML5 & CSS3
    • Inne
    • JavaScript
    • Książki
    • PHP
    • Po godzinach
    • Pozycjonowanie
    • Protokół HTTP
    • SQL
    • Wyrażenia regularne
  • Moje serwisy
    • Testy zawodowe
    • Miłość, uczucia i seks
  • Czytane blogi
    • Wojciech Sznapka
    • Wojciech Soczyński
    • Michał Wachowski
    • Tomasz Kowalczyk
    • JavaScript po polsku | Code42
  • Archiwum
    • Luty 2012
    • Listopad 2011
    • Październik 2011
    • Wrzesień 2011
    • Sierpień 2011
    • Lipiec 2011
    • Maj 2011
    • Kwiecień 2011
    • Marzec 2011
    • Luty 2011
    • Styczeń 2011
    • Grudzień 2010
    • Listopad 2010
    • Październik 2010
    • Wrzesień 2010
    • 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 ∧