Małe aplikacje - jaki framework?

W odpowiedzi na liczne pytania, chciałbym krótko przedstawić moją opinie na temat plusów i minusów korzystania z frameworków w małych aplikacjach i czy warto w ogóle z nich korzystać.

Moja odpowiedź to stanowcze TAK. Jest bardzo dużo plusów i raczej znikoma ilość minusów (w tym momencie, żadne nie przychodzą mi do głowy). Oczywiście podstawa to poznać framework nim zaczniemy jakąkolwiek pracę - obsługę żądań, przepływ danych, nazewnictwo metod/akcji/kontorlerów, warstwę abstrakcji dla bazy danych i widoki.

Trudno mówić tutaj o wyborze najlepszego rozwiązania, każdy framework ma swoje wady i zalety. Ja szczerze polecam Syfmony i Zend Framework - niestety nie miałem jeszcze wystarczająco dużo czasu by móc poznać cakephp czy code ingniter, z drugiej jednak strony te których używam w zupełności mi wystarczają i jak do tej poty nie musiałem szukać innych rozwiązań.

Do rzeczy. Symfoni do małych projektów raczej bym nie polecał, szczególnie początkującym. By móc pracować z nową wesją 1.2 trzeba poświęcić sporo czasu na czytanie dokumentacji - szczególnie skomplikowany może wydawać się obiektowy model budowy formularzy, który jest naprawdę świetny gdy się go już pozna. Zainteresowani znajdą więcej informacji tutaj: Symfony 1.2 lub na stronie projektu.
Co do Zenda i małych aplikacji to uważam, że to bardzo dobre zestawienie (w żadnym wypadku nie wykluczam Zenda z dużych projektów). W przypadku niedużej aplikacji w zupełności wystarczą nam dwa moduły: default i admin (wykorzystując oczywiście modułową strukturę) + kilka/kilkanaście kontrolerów w każdym z nich. Dodałbym do tego ORMa Doctrine (bardzo prosta integracja którą opisałem w grudniu: Zend Framework + Doctrine - introduction) lub jeśli ktoś się uprze to Propela. W ostateczności można użyć Zend_dbTable, ale z doświadczenia wiem, że jest On bardzo niewygodny. Ponadto raczej nie polecam Zend_Form (nie używałem, ale nie słyszem nic dobrego w tym temacie), godne zainteresowanie są: Zend_Layout oraz Zend_View. Dodatkowo możemy dołożyć system szablonów Smarty i już mamy gotowy do działania szkielet aplikacji. Na pewno sprawdzi się w przypadku niedużych serwisów/stron, ale nic też nie stoi na przeszkodzie by móc go z czasem znacznie rozbudować.

2 Responses to “MaÅ‚e aplikacje - jaki framework?”


  1. 1 goldencode

    Frameworki takie jak Zend Framework czy Symfony są do budowania średnich i dużych aplikacji. Oczywiście za pomocą Zend Framework można stworzyć zwykłą statyczną stronę internetową ale czy nie lepiej skorzystać z lżejszego rozwiązania jakim jest Kohana lub Yii?

    Osobiście do małych projektów preferuję własny framework, znacznie szybszy od ZF a już na pewno od Symfony.

    InnÄ… sprawÄ… jest iż Symfony nie nadaje siÄ™ na open-source’owe projekty takie jak np. Joomla, PrestaShop czy nawet Magento. Gdyby jej użyć do stworzenia takiej Joomli to jestem ciekaw kto by z niej korzystaÅ‚ (chodzi o trudnÄ… dla normalnych użytkowników instalacjÄ™ i konfiguracjÄ™ oraz o szybkość dziaÅ‚ania, która pozostawia wiele do życzenia), dlatego też projekty tego typu sÄ… czÄ™sto tworzone na wÅ‚asnych silnikach. Od dawna wiadomo, że Zend Framework jest ociężaÅ‚y, a Symfony jeszcze bardziej. Magento, które jest popularnym sklepem jest napisane przy użyciu ZF i do prawidÅ‚owej pracy potrzebuje serwera dedykowanego.

    Tak więc do prostych stron czy aplikacji lepiej wybrać coś lżejszego, takiego jak Yii czy Kohana, zaś ZF oraz Symfony używać do bardziej profesjonalych projektów. Używanie Symfony do stworzenia prostego CMSa to tak jakby codziennie do pracy jeździć ciężarówką zamiast samochodem.

  2. 2 Krzysiek

    Ostatnio znalazÅ‚em fajny micro framework do maÅ‚ych projektów http://www.limonade-php.net/. WyglÄ…da jak micro symfony :). Warto na ten projekt spojrzeć, w moim przypadku znakomicie bÄ™dzie siÄ™ nadawaÅ‚ do stron opartych na xml’u.

Leave a Reply

PodglÄ…d komentarza:




About me:

  • PHP programmer
  • Symfony developer
  • Zend framework developer

Categories: