SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Auswahlkriterien für PHP Frameworks




                        3. PHP Unconference, Hamburg
                          12. 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



12./13.09.2009                    3. PHP Unconference              1 von 21
Auswahlkriterien für PHP Frameworks




             Bitte jederzeit zwischendurch Eure
              Fragen und Anregungen stellen!

                 Mit den Beschimpfungen bitte
                      bis zum Ende warten!

                                Danke!


12./13.09.2009                  3. PHP Unconference         2 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
12./13.09.2009                 3. PHP Unconference         3 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)




12./13.09.2009              3. PHP Unconference         4 von 21
Auswahlkriterien für PHP Frameworks



   Welche PHP Frameworks gibt es?




12./13.09.2009             3. PHP Unconference         5 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




12./13.09.2009                3. PHP Unconference           6 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?




12./13.09.2009                3. PHP Unconference         7 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?

12./13.09.2009                 3. PHP Unconference          8 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)?




12./13.09.2009                  3. PHP Unconference           9 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?



12./13.09.2009                3. PHP Unconference           10 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“)?



12./13.09.2009                3. PHP Unconference            11 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?




12./13.09.2009                 3. PHP Unconference         12 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?
 ●




12./13.09.2009               3. PHP Unconference         13 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?


12./13.09.2009               3. PHP Unconference         14 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%)


12./13.09.2009                    3. PHP Unconference              15 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?



12./13.09.2009                3. PHP Unconference         16 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




12./13.09.2009                3. PHP Unconference            17 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!

12./13.09.2009                 3. PHP Unconference                 18 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/
12./13.09.2009                3. PHP Unconference              19 von 21
Auswahlkriterien für PHP Frameworks




                      Fragen?
                    Meinungen?
                   Wutausbrüche?




12./13.09.2009             3. PHP Unconference         20 von 21
Auswahlkriterien für PHP Frameworks




                 Danke für Eure Aufmerksamkeit!
                                  Ralf Eggert
                             r.eggert@travello.com




12./13.09.2009                   3. PHP Unconference         21 von 21

Weitere ähnliche Inhalte

Andere mochten auch

Funny Olympics
Funny OlympicsFunny Olympics
Funny Olympicsalex
 
Eine (sehr) kurze Einführung in formale Ontologien
Eine (sehr) kurze Einführung in formale OntologienEine (sehr) kurze Einführung in formale Ontologien
Eine (sehr) kurze Einführung in formale Ontologienmahok
 
ditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellungditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellungBrigitte Jellinek
 
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...e-teaching.org
 
Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen
Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen
Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen @ SoZmark
 
7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können
7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können
7 Dinge, woran Sie die Qualität einer Übersetzung erkennen könnenAndreas Brinck
 
Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...
Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...
Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...e-teaching.org
 
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...Christopher Buschow
 
Master Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule SalzburgMaster Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule SalzburgBrigitte Jellinek
 
HTML5 und CSS3 Übersicht
HTML5 und CSS3 ÜbersichtHTML5 und CSS3 Übersicht
HTML5 und CSS3 ÜbersichtSven Brencher
 
E-teaching Präsenation
E-teaching PräsenationE-teaching Präsenation
E-teaching Präsenatione-teaching.org
 
Image Of Sadness
Image Of SadnessImage Of Sadness
Image Of Sadnessamonyhig .
 
Partner-Workshop e-teaching.org: E-Learning-Support an der Goethe-Universitä...
Partner-Workshop e-teaching.org:  E-Learning-Support an der Goethe-Universitä...Partner-Workshop e-teaching.org:  E-Learning-Support an der Goethe-Universitä...
Partner-Workshop e-teaching.org: E-Learning-Support an der Goethe-Universitä...e-teaching.org
 
ImáGenes Disney
ImáGenes  DisneyImáGenes  Disney
ImáGenes Disneyguest2186b1
 
Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...
Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...
Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...e-teaching.org
 

Andere mochten auch (20)

Funny Olympics
Funny OlympicsFunny Olympics
Funny Olympics
 
Enterprise 2.0
Enterprise 2.0Enterprise 2.0
Enterprise 2.0
 
Eine (sehr) kurze Einführung in formale Ontologien
Eine (sehr) kurze Einführung in formale OntologienEine (sehr) kurze Einführung in formale Ontologien
Eine (sehr) kurze Einführung in formale Ontologien
 
ditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellungditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellung
 
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
 
app-edemie
app-edemieapp-edemie
app-edemie
 
Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen
Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen
Mobile Fundraising: Potentiale für und Erfahrungen von Nonprofit-Organisationen
 
7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können
7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können
7 Dinge, woran Sie die Qualität einer Übersetzung erkennen können
 
Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...
Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...
Partner-Workshop e-teaching.org: Einführung des Learning-Management-Systems I...
 
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
 
Master Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule SalzburgMaster Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule Salzburg
 
Nachhaltigkeit
NachhaltigkeitNachhaltigkeit
Nachhaltigkeit
 
HTML5 und CSS3 Übersicht
HTML5 und CSS3 ÜbersichtHTML5 und CSS3 Übersicht
HTML5 und CSS3 Übersicht
 
Definiciones 3
Definiciones 3Definiciones 3
Definiciones 3
 
E-teaching Präsenation
E-teaching PräsenationE-teaching Präsenation
E-teaching Präsenation
 
Image Of Sadness
Image Of SadnessImage Of Sadness
Image Of Sadness
 
Partner-Workshop e-teaching.org: E-Learning-Support an der Goethe-Universitä...
Partner-Workshop e-teaching.org:  E-Learning-Support an der Goethe-Universitä...Partner-Workshop e-teaching.org:  E-Learning-Support an der Goethe-Universitä...
Partner-Workshop e-teaching.org: E-Learning-Support an der Goethe-Universitä...
 
ImáGenes Disney
ImáGenes  DisneyImáGenes  Disney
ImáGenes Disney
 
Mediengerechtes Webdesign
Mediengerechtes WebdesignMediengerechtes Webdesign
Mediengerechtes Webdesign
 
Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...
Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...
Über die Wertschöpfung hinaus ... Future EduTech im Dialog von Wirtschaft und...
 

Ähnlich wie 10 Auswahlkriterien für PHP Frameworks

Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg Ralf Eggert
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenDie wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenYUHIRO
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesAlexander Loechel
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?Johann-Peter Hartmann
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréVerein FM Konferenz
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenAptly GmbH
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Jürg Stuker
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsGünther Haslbeck
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework  for perfectionists with deadlinesDjango - The Web framework  for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesMarkus Zapke-Gründemann
 
Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit ScrutinizerKontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit ScrutinizerFATCHIP GmbH
 

Ähnlich wie 10 Auswahlkriterien für PHP Frameworks (20)

Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenDie wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
 
PHPblue LOS!NRW
PHPblue LOS!NRWPHPblue LOS!NRW
PHPblue LOS!NRW
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?
 
PHP auf IBM Plattformen
PHP auf IBM PlattformenPHP auf IBM Plattformen
PHP auf IBM Plattformen
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web Applications
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 
AOP mit PostSharp
AOP mit PostSharpAOP mit PostSharp
AOP mit PostSharp
 
9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen9 Tipps für die Modernisierung von PHP-Anwendungen
9 Tipps für die Modernisierung von PHP-Anwendungen
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework  for perfectionists with deadlinesDjango - The Web framework  for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlines
 
Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit ScrutinizerKontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
 

10 Auswahlkriterien für PHP Frameworks

  • 1. Auswahlkriterien für PHP Frameworks 3. PHP Unconference, Hamburg 12. 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 12./13.09.2009 3. PHP Unconference 1 von 21
  • 2. Auswahlkriterien für PHP Frameworks Bitte jederzeit zwischendurch Eure Fragen und Anregungen stellen! Mit den Beschimpfungen bitte bis zum Ende warten! Danke! 12./13.09.2009 3. PHP Unconference 2 von 21
  • 3. 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 12./13.09.2009 3. PHP Unconference 3 von 21
  • 4. 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) 12./13.09.2009 3. PHP Unconference 4 von 21
  • 5. Auswahlkriterien für PHP Frameworks Welche PHP Frameworks gibt es? 12./13.09.2009 3. PHP Unconference 5 von 21
  • 6. 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 12./13.09.2009 3. PHP Unconference 6 von 21
  • 7. 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? 12./13.09.2009 3. PHP Unconference 7 von 21
  • 8. 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? 12./13.09.2009 3. PHP Unconference 8 von 21
  • 9. 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)? 12./13.09.2009 3. PHP Unconference 9 von 21
  • 10. 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? 12./13.09.2009 3. PHP Unconference 10 von 21
  • 11. 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“)? 12./13.09.2009 3. PHP Unconference 11 von 21
  • 12. 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? 12./13.09.2009 3. PHP Unconference 12 von 21
  • 13. 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? ● 12./13.09.2009 3. PHP Unconference 13 von 21
  • 14. 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? 12./13.09.2009 3. PHP Unconference 14 von 21
  • 15. 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%) 12./13.09.2009 3. PHP Unconference 15 von 21
  • 16. 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? 12./13.09.2009 3. PHP Unconference 16 von 21
  • 17. 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 12./13.09.2009 3. PHP Unconference 17 von 21
  • 18. 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! 12./13.09.2009 3. PHP Unconference 18 von 21
  • 19. 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/ 12./13.09.2009 3. PHP Unconference 19 von 21
  • 20. Auswahlkriterien für PHP Frameworks Fragen? Meinungen? Wutausbrüche? 12./13.09.2009 3. PHP Unconference 20 von 21
  • 21. Auswahlkriterien für PHP Frameworks Danke für Eure Aufmerksamkeit! Ralf Eggert r.eggert@travello.com 12./13.09.2009 3. PHP Unconference 21 von 21