Interview mit Christopher Stenke

Yii und die Community: Hinter der Fassade passiert eine Menge!
Kommentare

Yii gilt als schnelles, schlankes MVC-Framework – mit einer riesigen, aktiven Anhängerschaft. Wir haben mit einem dieser Anhänger über die Vorzüge und Anziehungskraft des Frameworks gesprochen.

Im Allgemeinen gilt Yii im PHP-Umfeld als schnelles und schlankes MVC-Framework, und es hat in unserer Framework-Umfrage für ordentliches Aufsehen gesorgt – vor allem mit einer immens aktiven Community, die ordentlich Buzz dafür veranstaltet hat. Doch wo genau liegen die Stärken und Vorzüge von Yii? Und woher rührt diese Anziehungskraft?

Wie haben mit einem jungen Entwickler über genau diese Themen gesprochen: Christopher Stenke ist seit Jahren bekennender Anhänger des Yii-Frameworks und ist voller Enthusiasmus bei der Sache.

Das Yii-Community-Interview

PHP Magazin: Christopher, seit einiger Zeit beschäftigst du dich bereits mit Yii – wie kam es dazu?

Christopher Stenke: Ein Freelancer-Kollege hat mir von dem Yii-Framework erzählt. Wir hatten bereits gemeinsam an einem ZF2-Projekt gearbeitet, also war ich gespannt auf seinen Tipp und habe mir das Framework genauer angeschaut. Die Dokumentation ist ausgezeichnet und der Guide auf der Website ist in 15 Sprachen – natürlich auch auf Deutsch – verfügbar.

PHP Magazin: Nun ist Yii ja nicht das einzige MVC-Framework auf dem Markt … Was macht deiner Meinung nach die Stärke des Frameworks aus?

Christopher: Was muss man am häufigsten entwickeln?? Genau, die CRUD-Operationen (Create, Read, Update, Delete). Für uns Entwickler bedeutet das oft viele Formulare und unzählige Zeilen Code zum Speichern. Im Yii-Framework sieht das anders aus: Man erstellt sich die Tabellen und die Relationen händisch, anders als mit einem Framework in Kombination mit einem Datenbank-ORM wie Doctrine. Dort erstellt man Entities und über ein Kommendozeilen-Tool wird das Datenbankschema erstellt. Nach Erstellung der Tabellen ruft man das in Yii mitgelieferte Gii-Modul auf, einen Codegenerator. Nachdem man sich das Model aus seiner Tabelle inkl. aller Relationen generiert hat, kann man sich Controller und Views für die CRUD-Operationen automatisch erstellen lassen. In der Applikation ist dann bereits eine Auflistung der in der Tabelle befindlichen Spalten abgedeckt. Jeder Datensatz kann angesehen, bearbeitet und gelöscht werden. Selbstverständlich kann man auch neue erstellen.

Abb. 1: Yii Codegenerator

Abb. 1: Yii Codegenerator

Christopher Stenke über sich

Christopher Stenke2010 habe ich meine Ausbildung zum technischen Assistenten für Informatik abgeschlossen. Dabei bin ich eigentlich nur mit Java in Berührung gekommen (Objektorientiert + Grafisch). In meinem darauf folgendem halbjährigen Praktikum bei der Domain-Offensive zum Erwerb der Fachhochschulreife habe ich ausschließlich mit PHP gearbeitet. Hier hat praktisch alles angefangen. Auch wenn dort ausschließlich prozedural entwickelt wurde, hab ich mich in meiner Freizeit mit objektorientierter Programmierung beschäftigt. Zur gleichen Zeit habe ich mich selbstständig gemacht. Neben dem später dann abgebrochenem Studium an der Technischen Universität Clausthal habe ich mich stetig in neue Technologien eingearbeitet. 3 Jahre danach ist das Yii-Framework neben Zend für mich am Interessantesten. Auch mit NoSQL wie Redis und MongoDb habe ich bereits gearbeitet. Dazu kommt noch nodejs (socket.io + sails.js).

PHP Magazin: Yii steht in dem Ruf, besonders schnell zu sein; woher kommt das?

Christopher: Anstatt auf ein Datenbank-ORM zurückzugreifen werden Active-Records eingesetzt, Klassen werden nur geladen wenn sie benötigt werden – und nicht bei jedem Request. Auch die sehr flexible Caching-Komponente macht Yii deutlich schneller, da sie mit memcache, APC und XCache kompatibel ist. Desweiteren können die anfallenden Daten zum Cachen in einer Datenbank-Tabelle abgelegt werden.

Ausblick auf Yii 2

PHP Magazin: Version 2 des Frameworks ist nun schon seit langem angekündigt, allerdings scheint es von außen betrachtet nur schleppend voranzugehen; und auch die Kommunikation auf der offiziellen Website im News-Bereich ist eher dürftig – verunsichert das die Community nicht unnötig?

Christopher: Von außen mag es so aussehen, aber hinter der Fassade passiert eine Menge. Viele aus der Community arbeiten mit: Jeder ist dazu aufgefordert, Issues auf GitHub einzustellen, über 3.000 wurden bereits geschlossen – insgesamt arbeiten knapp 300 Leute am Yii2-Framework auf GitHub. Unser Ziel ist es, ein Framework zu entwickeln, das allen unseren Anforderungen gerecht wird und mehr zu erreichen, als ein kleines Entwicklerteam, das alleine daran arbeitet. Außerdem nähern wir uns dem Release – Ende September wurde der Release Candidate veröffentlicht. Jetzt zählt nur noch das Feedback der Community.

Einschub: Die Termine sind bekannt

Zu dem Zeitpunkt, als wir mit Christopher über das Thema Yii gesprochen hatten, standen die Termine für Yii 2 noch in den Sternen; dank unseres Lesers Carsten Brandt sind wir jetzt aber schlauer und können auf die Yii2 Milestones auf GitHub verweisen. Und dort steht geschrieben, dass am 12. Oktober 2014 Yii 2.0 GA verfügbar sein wird. Christopher hatter uns am Tag der Veröffentlichung auch noch ein Update zu seiner Antwort geschickt.

PHP Magazin: Trotz allem scheint die Community hinter Yii sehr aktiv zu sein. Wie nimmst du das wahr?

Christopher: Die Community ist gewaltig: Mehr als 160.000 Benutzer sind im eigenen Forum aktiv, es gibt über 245.000 Posts. In der Facebook-Gruppe tauschen sich rund 22.000 Leute aus, 11.500 Follower sind es auf Twitter. Wo wir gerade von der Community sprechen: Yii ist komplett modular aufgebaut, darum wurde auf der Website eine Extension-Bibliothek eingerichtet; jeder kann dort seine Extension kostenlos der ganzen Community bereitstellen. Aktuell gibt es 1.600 Stück, da ist für jeden etwas dabei: Von Social-Media-Plug-ins bis hin zu Barcode-Generatoren, WordPress-like Shortcodes, RSS-Feed-Parser oder einer Extension, mit der man ein REST-Api möglichst leicht bereitstellen kann. Bei dringenden Fragen findet man sogar Hilfe im IRC-Channel.

PHP Magazin: Seit April ist zumindest die Beta der Version 2 erhältlich, die mit einigen Neuerungen aufwartet. Worauf freust du dich dabei am meisten?

Christopher: Auf den eingebauten RESTful-API-Support, Elasticsearch-Support für ActiveRecords, automatisches Typecasting der Datenbankwerte, Batch-Queries und Sub-Queries. Die Community ist auch hier sehr fleißig: Über 120 Extensions für Yii2 stehen schon bereit, unter anderem eine Google Maps API Library, automatische XML-Sitemap-Generierung, Amazon SES und viele jQuery-Chart-Implementierungen (amCharts, flot).

Yii für Ein- und Umsteiger

PHP Magazin: Welche Quellen für den Einstieg würdest du Neueinsteigern ans Herz legen?

Christopher: „The Definitive Guide to Yii“ auf der offiziellen Seite des Frameworks. Ich hatte in einer vorherigen Frage den Guide schon angesprochen: er ist auch auf Deutsch verfügbar. Hier findet man einen Überblick über die Bestandteile des Frameworks und den Lebenszyklus einer Yii-Applikation, über die automatische Codegenerierung, relationalen Active-Records, Authentifizierung, Internationalisierung, Konsolenanwendungen, Sicherheit (XSS, CSRF), Unit-Tests, Protokollierung und Profiling.

PHP Magazin:  … und wer sollte sich deiner Meinung nach überlegen, auf Yii umzusteigen?

Christopher: Reden wir erst mal vom Ausprobieren – denn das Yii-Framework sollte jeder testen, der schon mit einem der größeren PHP-MVC-Frameworks programmiert hat. Und wenn man die Vorteile wie die automatische Codegenerierung oder die Performance-Unterschiede selbst erlebt, ist die Frage nicht ob, sondern wann man auf Yii umsteigt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -