logo

Výsledky zozbierané pri testovaní PHP frameworkov CakePHP, CodeIgniter, Prado, Symfony, Zend

            

 

 

             Existuje neprehľadné množstvo PHP frameworkov a rozdielov medzi nimi. Niekoho by to až mohlo odradiť, ale prínos je nekompromisný. Je dobré sa orientovať na framework so širokou komunitou, alebo prípadne projekt vyvíjaný nejakou spoločnosťou, pri ktorých sa dá predpokladať dlhá podpora a vývoj. Na získanie prehľadu o rýchlostiach otestujem aplikácie pomocou JMeter a na základe dĺžky odozvy na požiadavku, určím rýchlosť spracovania požiadaviek daným frameworkom. Pomocou programu PHP Depend zmerám zložitosť a veľkosť zdrojového kódu. Z nameraných údajov zostavím poradie frameworkov podľa rýchlosti. Ohodnotím dokumentáciu a prístupné informácie pre daný framework.

 

 

Zobrazenie jedného záznamu z tabuľky Members.

Všetky namerané údaje sú v milisekundách.

tabulka memebers zoznam

graf tabulka memebers zoznam

 

Zobrazenie zoznamu záznamov z tabuľky Users.

Všetky namerané údaje sú v milisekundách.

tabulka 2 tabulka users zoznam

graf2 tabulka users zoznam

 

Úprava jedného záznamu z tabuľky Users.

Všetky namerané údaje sú v milisekundách.

tabulka 3 tabulka users vlozenie

graf 3 tabulka users vlozenie

 

Pridanie nového záznamu do tabuľky Memebers.

Všetky namerané údaje sú v milisekundách.

tabulka 4 tabulka memebers vlozenie

graf 4 tabulka memebers vlozenie

 

 

Poradie frameworkov podľa rýchlosti

tabulka frameworkov podla rychlosti

 

Prehľad dostupných zdrojov informácií potrebných pre oboznámenie sa s frameworkami.

 

 

 

Dokumentácia

Video kurz

Návody v angličtine

Návody v slovenčine

CakePHP

100.00%

 

x

x

CodeIgniter

95.00%

x

x

 

Prado

95.00%

x

x

 

Symfony

100.00%

 

x

x

Zend

100.00%

x

x

x

 

 

 

Záver

 

 

       Niektoré frameworky obsahujú veľké množstvo knižníc, ktoré sú schopné pokryť možno aj väčšinu potrieb bežnej aplikácie. Na druhej strane patria tieto frameworky k tým pomalším s väčším výpočtovým zaťažením. Frameworky s menšou škálou knižníc sú modulárnejšie, aby ich bolo ľahšie rozširovať o potrebné moduly. Dôležitou časťou každého frameworku je dokumentácia, ktorá nám podľa svojej úrovne umožní porozumieť frameworku, naučiť sa jeho základné funkcie a ich parametre. Komunita vývojárov a programátorov pri každom frameworku hrá tiež svoju úlohu a poskytujú množstvo informácií na svojich fórach ohľadom riešenia rôznych problémov. Každý z frameworkov poskytoval pomocou rôznych parametrov generovanie základných štruktúr zopár aplikácií a ich komponentov. Vďaka tomu je možné vygenerovať napríklad základ aplikácie pre osobný blog. Samozrejme, že táto aplikácie nie je úplne hotový blog, ale 70 % nudného a stále sa opakujúceho programovanie je už hotová. Po dlhšom hľadaní som narazil aj na samostatné aplikácie, ktoré boli napísané vo frameworkoch CakePHP, CodeIgniter a poskytovali veľmi sofistikované pracovné prostredie. Po základnej konfigurácii generovanej aplikácie a pripojenia k databáze je možné vygenerovať všetky základné funkcie na obsluhu základnej práce s tabuľkami. Vygenerovaná aplikácia dokáže prehliadať tabuľku, ukladať nové záznamy, upravovať a mazať v tabuľke. Tieto aplikácie výrazne znižujú čas potrebný na vytvorenie základnej kostry novej aplikácie, čo znamená uľahčenie práce s daným frameworkom a automatizáciu určitých krokov. Počas testovania sa aplikácie správali ako som predpokladal, väčšie a komplexnejšie frameworky boli pomalšie a menšie boli rýchlejšie. Príjemným prekvapením bol framework CakePHP, ktorý dosiahol najlepšie výsledky v rýchlosti a predstavoval zlatý rez medzi rýchlosťou a rozsiahlosťou ponúkaných funkcií. V súčastnosti, kedy internet stále viac rastie a prináša stále nové služby, je potrebné tvoriť aplikácie pre sieť efektívnejšie, bezpečnejšie a modulárnejšie. Frameworky tieto svoje predsavzatia spĺňajú a je už len na konkrétnom projekte a programátorovi, ktorý z nich si vyberie a použije.




                             

logo