php framework választás
Új projektet indítunk. Ilyenkor az ember megpróbálja kitalálni, hogy mely technikák fognak fejlődni, melyik létező php keretrendszerbe érdemes beletanulni. Sorakoznak a kérdések a fejlesztő fejében, olvas, tesztel, próbál jó döntést hozni.
Most én is túlestem egy olvas-tesztel fázison.
Az ott kezdődött, hogy pénteken becsipogtak a weblaboron egy egy évvel ezelőtti cikket: Rasmus Lerdorf: PHP Frameworks? Think Again. Ez a cikk kicsit megindította a fantáziám. Vajon tényleg jó-e minden framework? Érdemes-e környezettudatosnak lenni, vagy inkább duplázzunk hardver-t, ne foglalkozzunk alapvetően a sebességgel? Mi alapján döntsek framework ügyben? Rasmus Lerdorf a php alapítója, és jelenleg is fejlesztője. Beleolvastam a cikkjeibe, a The no-framework PHP MVC framework erős indulatokat váltott ki anno, én is megosztott lettem. Hozzájött még ez és ez és ez.
Előkaptam hát pár frameworköt (mert a no-framework framework ellenére is szimpatikus frameworkben dolgozni):
Zend Framework. Az utóbbi idők legnagyobb csalódása számomra. Tulajdonképpen az egész egy függvénykönyvtár OOP köntösben (kövezzetek meg, de így gondolom), “csináld úgy, ahogy jónak látod” hozzáállással. Na én nem ezt vártam tőle. Én azt várom, hogy egy Zend Framework leírja hivatalosan (hiszen itt is php alapítók vannak a háttérben, rendes vizsgarendszerrel), hogy melyek a legjobb módszerek ma. Ehelyett van egy guestbook alkalmazás, egy szem táblából pumpál ki adatokat. Ha utánaolvasol, az MVC-ből a modelre egész sokféle megoldást lehet találni. Nincs mérvadó. Nincsenek statisztikák. Most a data mapper pattern a menő, de egy múlt decemberben kiadott ZF könyv még nem ezt favorizálja (sőt, talán nem is ír róla). Októberben újabb könyv jelenik majd meg (még csak előrendelni lehet), abban mi lesz majd? Valami új? Szóval csalódás.
Kohana. Már nézegetem egy ideje, a múlt év egyik üdvöskéje, sajnos a dokumentáció tavalyi is maradt. Amúgy tetszik, egyszerű, mint egy ék. Sokat vártam tőle, de mint majd kiderül…
Symfony. Mintha csak konfigokat kellene átírni, szinte a projekt előre van telepítve.
Yii. Ahogyan olvasgattam a témában a cikkeket, több helyen is szerepelt, mint új php framework, ami a sebességet helyezi előtérbe. Most hallottam róla először, gondoltam kipróbálom.
Itt van ez a négy php keretrendszer. A Zend Frameworkre áldoztam az utóbbi időben nagyon sokat, így arról van egy nem túl pozitív véleményem, de gondoltam összevetem más keretekkel, hátha sikerül meggyőznöm magam (vagy mellette, vagy ellene). Mivel a ZF guestbook alkalmazása csak egy táblát hoz példának, ezért úgy gondoltam, egy egyszerű feladat elé állítom a frameworköket: 100 elemből álló táblát kell kiíratniuk egy oldalon, én meg az apache ab parancsával ezt a százszor kérem le, ez lesz az összevetési alap. Minden framework mysql adatbázison keresztül kapcsolódott, ugyanaz a száz sor került bele a táblába. Csak megjegyzem, minden framework tutorialja blog volt, ahol relációban (mint cikkek és hozzászólások) mutatták be az adathozzáférést, kivéve a ZF, ami csak egy nyamvadt egy táblás guestbook-ot tudott produkálni. Szerverkörnyezet Zend Server CE default telepítés Windows XP-n.
Itt vannak az eredmények:
YII ********* Requests per second: 31.68 [#/sec] (mean) ZEND ********* Requests per second: 21.19 [#/sec] (mean) KOHANA ********* Requests per second: 19.63 [#/sec] (mean) SYMFONY ********* Requests per second: 15.65 [#/sec] (mean)
A tesztből látszik, hogy a Yii vezet magasan gyorsaság tekintetében, majd másfélszer gyorsabb mint a második helyezett ZF. Ez meglepő lett, még nem tudom, mit kezdek ezzel az eredménnyel. Sok dolog formálódik bennem. Amiért én keretrendszert választok (és nem magam írok), mert megbízom az opensource fejlesztésben (márminthogy kiveti magából a hülyeséget), az összegzett tapasztalat jobb szoftvert produkál. Fontos az átláthatóság (akkor jön ez leginkább elő, ha új embert kell a projektbe bevonni), a sebesség, a dokumentáció (tutorialok, működő tesztek).
Egy biztos, ezen szempontok szerint ítélkezve a Yii jobb kindulópontnak tűnik a Zend Frameworknél.
Tags: framework, kohana, php, symfony, yii, zend
Leave a Reply
You must be logged in to post a comment.