framework auswahlkriterin, php unconference 2009 in hamburg
DESCRIPTION
Eine weitere Perle, die aber auch heute vom Prinzip her noch Gültigkeit hat.TRANSCRIPT
![Page 1: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/1.jpg)
12./13.09.2009 3. PHP Unconference 1 von 21
Auswahlkriterien für PHP Frameworks
3. PHP Unconference, Hamburg12. und 13. September 2009
10 Auswahlkriterien für PHP Frameworks
Begriffsdefinitionen, Kleine Marktübersicht, Allgemeine und spezielle Kriterien zur Auswahl,
Gründe für Eigenentwicklung
Präsentiert von:Ralf Eggert
Geschäftsführer Travello GmbH
![Page 2: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/2.jpg)
12./13.09.2009 3. PHP Unconference 2 von 21
Auswahlkriterien für PHP Frameworks
Bitte jederzeit zwischendurch Eure Fragen und Anregungen stellen!
Mit den Beschimpfungen bitte bis zum Ende warten!
Danke!
![Page 3: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/3.jpg)
12./13.09.2009 3. PHP Unconference 3 von 21
Auswahlkriterien für PHP Frameworks
Wer bin ich?● Ralf Eggert, Jahrgang 1972, Dipl. WInf (FH),
Geschäftsführer Travello GmbH
● Entwickelt in PHP seit 1999, hat auch in PHP 3 gestümpert
● Entwickelt mit dem Zend Framework seit 2006
● Regelmäßiger Autor für das PHP Magazin seit 2007
● Autor des Buches „Das Zend Framework - Von den Grundlagen bis zur fertigen Anwendung“ erschienen 2009 (www.zendframeworkbuch.de)
● Bloggt unter www.ralfeggert.de über PHP usw.
● Twittert unter twitter.com/Frille
![Page 4: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/4.jpg)
12./13.09.2009 3. PHP Unconference 4 von 21
Auswahlkriterien für PHP Frameworks
Was gilt als PHP Framework?● Klassensammlungen (PHPLIB, PHP Classes)
● Komponentensammlungen (PEAR, eZ Components, Zend Framework)
● „Full-Stack“ Frameworks und Ruby-on-Rails Klone (Code Igniter, CakePHP, Symfony, Seagull, Agavi)
![Page 5: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/5.jpg)
12./13.09.2009 3. PHP Unconference 5 von 21
Auswahlkriterien für PHP Frameworks
Welche PHP Frameworks gibt es?
![Page 6: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/6.jpg)
12./13.09.2009 3. PHP Unconference 6 von 21
Auswahlkriterien für PHP Frameworks
Wie wählt man ein Framework aus?● Viele Wege führen nach Rom
● Eine Hand voll ausprobieren und eines auswählen
● Im Internet nach „unabhängigen“ Vergleichen suchen
● Featurelisten durchwühlen
● Freunde und Kollegen fragen
● Einfach eines aus dem Bauch heraus auswählen
● Oder sich einen Kriterienkatalog für die Auswahl erstellen
![Page 7: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/7.jpg)
12./13.09.2009 3. PHP Unconference 7 von 21
Auswahlkriterien für PHP Frameworks
1. Kriterium: Aktualität● Wie aktuell ist das neueste stabile Release?
● Wie häufig gibt es neue Releases?
● Wie sieht die Release Historie aus?
● Gibt es feste Release-Zyklen?
● Seit wann wird das Framework entwickelt?
● Gibt es eine Roadmap?
![Page 8: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/8.jpg)
12./13.09.2009 3. PHP Unconference 8 von 21
Auswahlkriterien für PHP Frameworks
2. Kriterium: Verbreitung● Gibt es Informationen zu den Downloadzahlen (leider nur
selten verfügbar)?
● Gibt es bekannte Referenzen, die das Framework einsetzen?
● Anzahl Treffer in Suchmaschinen (Google, Yahoo)
● Google Pagerank?
● Ist in Zukunft eher von einer steigenden Verbreitung auszugehen?
● Gibt es Stellenangebote von Unternehmen, welche Erfahrung im Framework voraussetzen?
![Page 9: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/9.jpg)
12./13.09.2009 3. PHP Unconference 9 von 21
Auswahlkriterien für PHP Frameworks
3. Kriterium: Dokumentation● Wie umfangreich und aktuell ist die mitgelieferte
Dokumentation?
● Gibt es eine Kommentarfunktion in der Dokumentation mit weiteren Hinweisen der Anwender?
● Gibt es viele Tutorials, Anleitungen und dokumentierte Best Practices? Wie aktuell sind diese?
● Gibt es auch eine API Dokumentation zum Download?
● Gibt es Bücher zum Framework (Gedruckt, E-Books)?
![Page 10: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/10.jpg)
12./13.09.2009 3. PHP Unconference 10 von 21
Auswahlkriterien für PHP Frameworks
4. Kriterium: Qualitätssicherung● Gibt es Programmierrichtlinien, an die sich alle Entwickler
des Frameworks halten müssen?
● Werden Unit-Tests zur Qualitätssicherung eingesetzt?
● Werden diese mitgeliefert?
● Wie hoch ist die Testabdeckung?
● Wird sogar testgetrieben entwickelt?
● Wird das Schreiben von Unit-Tests für eine auf dem Framework basierende Anwendung unterstützt?
![Page 11: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/11.jpg)
12./13.09.2009 3. PHP Unconference 11 von 21
Auswahlkriterien für PHP Frameworks
5. Kriterium: Entwickler● Ist es ein reines Open-Source Projekt, das von vielen
Freiwilligen gestützt wird?
● Oder steht eine Firma im Hintergrund, welche die Entwicklung vorantreibt / unterstützt?
● Ist die Anzahl der Kernentwickler bekannt? Wie viele?
● Bieten die Kernentwickler / die Firma auch kommerziellen Support an?
● Ist das Framework ein Fork oder wurde es schon mal geforkt („brain drain“)?
![Page 12: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/12.jpg)
12./13.09.2009 3. PHP Unconference 12 von 21
Auswahlkriterien für PHP Frameworks
6. Kriterium: Community● Wie aktiv sind die Mailinglisten und Foren zum
Framework?
● Wie schnell bekommt man Hilfe auf eine Frage?
● Wie ist der Umgangston in den Mailinglisten und Foren?
● Gibt es Blogs, welche aktuelle Informationen sammeln und veröffentlichen?
![Page 13: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/13.jpg)
12./13.09.2009 3. PHP Unconference 13 von 21
Auswahlkriterien für PHP Frameworks
7. Kriterium: Lizenz● Unter welcher Lizenz wird das Framework veröffentlicht?
● Gibt es auch eine kommerzielle Lizenz?
● Passt diese Lizenz zu den eigenen Anforderungen für die Nutzung des Frameworks?
●
![Page 14: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/14.jpg)
12./13.09.2009 3. PHP Unconference 14 von 21
Auswahlkriterien für PHP Frameworks
8. Kriterium: Technik● Wird noch das veraltete PHP 4 unterstützt oder werden die
Stärken von PHP 5 ausgekostet?
● Passen die technischen Anforderungen des Frameworks auf die vorhandenen technischen Voraussetzungen?
● Lässt sich das Framework einfach erweitern?
● Werden umfangreiche Konfigurationsdateien benötigt oder gibt es Konventionen, die man einhalten muss / kann?
● Besteht die eigene Anwendung aus Monsterklassen oder lassen sich die Elemente (Controller, Aktionen, Models, Views, Formulare, etc.) fein trennen?
![Page 15: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/15.jpg)
12./13.09.2009 3. PHP Unconference 15 von 21
Auswahlkriterien für PHP Frameworks
9. Kriterium: Bugs● Ist das Framework bugfrei? (kleiner Scherz)
● Wie viele Bugs wurden gemeldet / gelöst?
● Verhältnis gemeldete und bereinigte Bugs?
● Beispielzahlen von Mitte August 2009:
– Agavi (gemeldet 1065, bereinigt 995, Ratio 93,43%)
– CakePHP (gemeldet 6528, bereinigt 5880, Ratio 90,07%)
– eZ Components (gemeldet 1355, bereinigt 1215, Ratio 89,67%)
– Symfony (gemeldet 6814, bereinigt 5367, Ratio 78,76%)
– Zend Framework (gemeldet 7551, bereinigt 5736, Ratio 75,96%)
![Page 16: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/16.jpg)
12./13.09.2009 3. PHP Unconference 16 von 21
Auswahlkriterien für PHP Frameworks
10. Kriterium: Features● Endlich! Die Features
● Bietet das Framework alle Features / Komponenten, die in der eigenen Anwendung gebraucht werden?
● Sind die fehlenden Features / Komponenten zeitnah (in den nächsten Monaten) geplant?
● Können die Anwender auch eigene Features / Komponenten vorschlagen / anbieten?
● Wie einfach lassen sich externe Komponenten integrieren, z.B. Smarty, Doctrine, Webservices?
![Page 17: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/17.jpg)
12./13.09.2009 3. PHP Unconference 17 von 21
Auswahlkriterien für PHP Frameworks
Zusammenfassung Auswahlkriterien● Natürlich lassen sich nur schwer alle Fragen für alle
Frameworks beantworten!
● Kriteriumkatalog ermöglicht aber, schnell eine Vielzahl an Frameworks auszuschließen!
● Damit kann man sich auf die wesentlichen Frameworks konzentrieren!
● Ergänzt wird die Auswertung dann durch Ausprobieren und Testen der Frameworks
![Page 18: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/18.jpg)
12./13.09.2009 3. PHP Unconference 18 von 21
Auswahlkriterien für PHP Frameworks
10 Gründe gegen Frameworks I● Bevor ich mich in fremden Programmcode einarbeite, schreibe
ich das schneller selbst.
● PHP Frameworks sind voller Bugs, man schaue nur auf die langen Listen mit Bugfixes bei jedem Release.
● Da der Programmcode des PHP Frameworks öffentlich zugänglich ist, mache ich meine Anwendung unsicher. Schließlich können die Hacker den Programmcode des Frameworks auch einsehen.
● Das Framework XYZ ist völlig überladen, ich brauche nur 2 oder 3 der 40 Komponenten.
● Das Framework XYZ ist nicht vollständig, mir fehlen 2 bis 3 Komponenten!
![Page 19: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/19.jpg)
12./13.09.2009 3. PHP Unconference 19 von 21
Auswahlkriterien für PHP Frameworks
10 Gründe gegen Frameworks II● Ich kenne gerne den gesamten Programmcode im Detail, so
dass ich lieber alles selber schreibe!
● Was mache ich, wenn das PHP Framework nicht mehr weiter entwickelt wird, weil die Hauptentwickler keine Zeit mehr haben?
● Für das Framework gibt es dauernd neue Releases, bin ja nur noch am aktualisieren.
● Wenn mein Kunde mitbekommt, dass ich nicht alles selber programmiert habe, kürzt er mir das Budget!
● Ich schreibe mein eigenes PHP Framework, um zu lernen!
● Quelle: http://www.phphatesme.com/blog/wtf/10-grunde-gegen-den-einsatz-von-php-frameworks/
![Page 20: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/20.jpg)
12./13.09.2009 3. PHP Unconference 20 von 21
Auswahlkriterien für PHP Frameworks
Fragen?Meinungen?
Wutausbrüche?
![Page 21: Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg](https://reader033.vdocuments.mx/reader033/viewer/2022051610/548f50d7b47959072a8b4a82/html5/thumbnails/21.jpg)
12./13.09.2009 3. PHP Unconference 21 von 21
Auswahlkriterien für PHP Frameworks
Danke für Eure Aufmerksamkeit!
Ralf [email protected]