php alapú keretrendszerek összehasonlítása - védés bemutató

19
PHP alapú keretrendszerek összehasonlítása Készítette: Rutkai András

Upload: andras-rutkai

Post on 30-Jun-2015

592 views

Category:

Software


0 download

DESCRIPTION

PHP alapú keretrendszerek összehasonlítása. A diplomamunka védésen vetített diasor. Keretrendszerek: Zend Framework, Symfony, Yii, Codeigniter http://phpframeworks.rutkai.hu/

TRANSCRIPT

Page 1: PHP alapú keretrendszerek összehasonlítása - védés bemutató

PHP alapú keretrendszerek összehasonlításaKészítette: Rutkai András

Page 2: PHP alapú keretrendszerek összehasonlítása - védés bemutató

A PHP alapú keretrendszerek fontossága

• A webes alkalmazások iránti érdeklődés egyre nő

– Felhő

– Vékony kliens

• A legtöbb esetben ezek PHP alapúak

• PHP alapú keretrendszerek

Page 3: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Miért nehéz választani?

Page 4: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Miért nehéz választani?

• Nincsenek jó összehasonlítások

– Rövidek

– Nem részletesek

– Többnyire a nyújtott funkciókat vetik össze

– …vagy a teljesítményt

Page 5: PHP alapú keretrendszerek összehasonlítása - védés bemutató

A kiválasztott keretrendszerek

Page 6: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Felépítés

• Példaprogramok segítségével illusztrálva

• A felmerülő jellemző feladatok elkészítése

– CRUD

– E-mail

– Naplózás

– Fordítás

– Munkamenet

– REST (webszolgáltatások)

– Felhasználó kezelés

• Szempontok

– Telepítés

– Dokumentáció

– Belső felépítés

– Modularizáltság

– Sablonozás

– Adatbázis kezelés

– Űrlapok

– E-mail küldés

– Naplózás

– Nyelvi támogatás

– REST

– Jogosultság-kezelés

– Egyéb feladatok

– Hatékonyság

– Biztonság

– Közösségek, támogatás

Page 7: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Fejlesztői dokumentáció, közösségi aktivitás

• Codeigniter

– Dokumentáció nagyon jó

– Közösség és vállalati támogatás alig

• Symfony

– Dokumentáció nem teljes

– Pezsgő közösség

– Vállalati támogatás

• Yii

– Nehezen áttekinthető dokumentáció

– Kis közösségi aktivitás

• Zend Framework

– Gyenge dokumentáció

– Kiemelkedő vállalati támogatás

Page 8: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Belső felépítés, modularizáltság, hatékonyság

• Kódméret Szolgáltatások

• Codeigniterben nincs modularizáltság

• Symfony ésZend teljesmértékbenkomponensalapú

– Composer

0

100

200

300

400

500

600

0

50000

100000

150000

200000

250000

300000

350000

400000

Codeigniter Symfony Yii Zend framework

Keretrendszer mérete (kódsorok száma) Lekérdezések száma másodpercenként

Page 9: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Sablonozás

• Az egyszerű:Codeigniter

• A sokoldalú:Symfony

• A widgetes:Yii

• Az automatikus:Zend Framework

Fejléc

LáblécB

al p

an

el

Jo

bb

pa

ne

l

Tartalom

Page 10: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Adatbázis kezelés

• Yii kódgenerálás

LegsokoldalúbbLegegyszerűbb

Page 11: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Űrlapok készítése, biztonság

• Codeigniterben az űrlap és a nézet összeolvad, a validáció viszont különálló

• Modellből űrlap Yii

• Űrlaposztály Symfonyban és Zendben

• Biztonság:

SQL befecskendezésXSS (Oldalon Keresztüli

Scriptelés)CSRF (Oldalon Keresztüli

Kéréshamisítás)

Codeigniter

Symfony

Yii

Zend Framework /

Page 12: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Kapcsolattartás e-mail segítségével

• Codeigeniter

– Hibakeresés

– Nincs HTML mellé Text

• Yii

– Nincs beépített támogatás• Nincs sablonozás

• Symfony

– Kikapcsolható

– Ütemezhetőség

• Zend Framework

– Függőség befecskendezés

– Ütemezhetőség

Page 13: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Események rögzítése a naplózás segítségével

• Codeigniter: rögtön használható, de nem sokoldalú

• Yii: sok kimenet, furcsa hibaszintek

• Symfony: testreszabható formátum

• Zend: naplózás adatbázisba

Page 14: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Nyelvi támogatás

Codeigniterbenminden kézzel

Yiiben többes szám kezelés

Symfony a fájlformátumok királya

Zendben mindenhez van támogatás

Page 15: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Azonosítás és jogosultságkezelés

• Codeigniterben nincs beépített támogatás

• Yiiben ez is generált részben

• Zendben erős támogatás a keretrendszer oldaláról

• Symfonyban erős támogatás a közösség oldaláról

Page 16: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Nem szokványos feladatok

Codeigniter Symfony YiiZend

Framework

Parancssori interfész

Egységteszt támogatás

Profilozó

FTP (File Transfer Protocol) ()

Képmanipulálás

Mobil felület detektálása ()

Tömörítés

Fájlkezelés

Lapozó

Navigáció (menü, kenyérmorzsák, oldaltérkép)

Szerializálás

NoSQL adatbázis-kezelő támogatása

RSS (Rich Site Summary) /ATOM feed támogatás

PDF generálás ()

Page 17: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Tehát melyik a legjobb keretrendszer?

• Ahogy sejtettük: nincs legjobb keretrendszer

• A legtöbb kategóriának van győztese

• …de ez nem mindig ugyanaz!

• Akkor mi a konklúzió?

Page 18: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Eredmények

• A valódi kérdés: egy feladatra melyik a legjobb keretrendszer?

• Kis méretű alkalmazások fejlesztéséhez?Codeigniter

• Vállalati környezetben a vállalati igényekhez alkalmazkodva?

Yii, Zend Framework

• Ha gyorsan kell egy alkalmazást elkészíteni?Symfony

Page 19: PHP alapú keretrendszerek összehasonlítása - védés bemutató

Köszönöm a figyelmet!