Mit dem Yii2 Framework arbeite ich nunmehr seit gut einem halben Jahr. Anfangs noch an einem geplantem eigenen Projekt damit „rumgespielt“ habe ich das sogar in zwei echten Live (Kunden-) Projekten eingesetzt. Zuvor in den letzten 8 Jahren habe ich ja schon mit einigen Frameworks gearbeitet, ja sogar ein eigenes entwickelt, was allerdings mal gerade nur einen kleinen Prozentteil der Grundbedürfnisse decken würde. Zeit also jetzt mal ein Fazit zum Yii2 Framework abzugeben.

Was macht Yii2 Framework so besonders?

Dazu muss ich mal etwas ausholen und bei dem Zend Framework Version 1.x beginnen. Mich nervte bei ZF gewaltig, dass ich die Vorgabe, wie ich etwas in einem Projekt umsetze, von diesem vorgegeben bekam. Ebenso nervte mich, dass selbst wenn ich noch so performant programmierte, ZF eben doch gewaltig „leakte“ und eben doch mich immer wieder gewaltig einschränkte. Sicherlich lag das nicht zwingend an ZF sondern wohl auch eher an mich, aber die Dokumentationen sind eben auch Bestandteil eines guten Frameworks.

Als ich mit Yii in Berührung kam war ich sofort von der Dokumentation begeistert. Insbesondere einerseits die Flexibilität, aber auch die Skalierbarkeit ist einfach beeindruckend und trotzdem nimmt mir Yii einfach unheimlich viel Fleiß-Coding ab, weil es einfach von Hinten bis Vorn durchdacht ist.

Ich finde aber auch die Community, die auch sehr wohl scheinbar überwiegend aus Russen bestehen zu scheint, ist extrem hilfsbereit und überhaupt nicht „von oben herab“, wie ich es grundsätzlich eigentlich immer bei ZF erlebt habe. Sicherlich habe ich in den Jahren auch eine ganze Menge hinzugelernt, weshalb ich auch viele Abläufe mitunter nun besser verstehe, aber mein Bauchgefühl sagt mir einfach auch, es geht einfach viel leichter von der Hand.

Was ich an Yii besonders finde

Ich habe eigentlich andauernd in all meinen Projekten in den letzten 15 Jahren mit Mehrsprachigkeit zu tun. Abgesehen davon habe ich insbesondere in den letzten 8 Jahren gelernt, lieber in Modulen zu arbeiten und damit viel skalierbarer zu sein. Yii2 macht es hier so finde ich extrem einfach genau diese Eigenschaften hervorragend leicht umzusetzen. Abgesehen davon, dass Yii2 schon einen ganzen Haufen häufiger vorkommender Widgets und Helfer mitbringt, ist der Aufbau und die Implementierung eigener Module total simpel.

Ein ganz besonders lieb gewonnenes Feature ist aber die Migration. Noch nie empfand ich es einfacher, bei Datenbank-Updates wie z.B. neue Tabellen oder Spalten, einfach ein Migrations-Objekt anzulegen und auf dem Live-System via Konsole mal fix ein ./yii migrate auszuführen und schwupps, habe ich die DB auf den neusten Stand. Mit ein wenig Logik kann man das sicher auch ausweiten auf die Models, Views und Controller, die man damit auf die neuste Version switchen kann.

Zum Thema Performance und Sicherheit

Yii2 bringt schon eine ganze Menge mit für die Performance und auch der Sicherheit. Zahlreiche Helfer-Objekte stehen zur Verfügung, die sämtliche Sicherheitsaspekte abdecken.

Ebensolches gilt auch für die Performance. Denn auch hier arbeitet Yii2 unter der Haube extrem performant. Abgesehen davon lässt sich im Live System (man sollte sogar) direkt von Yii2 implementiertes Caching mit APC oder MemCache simpel einschalten und wenn man in der Programmlogik direkt häufig verwendete von Außen leicht beeinflussbare DB Zugriffe auf NoSQL Datenbanken auslagert, ist das wohl noch kaum zu schlagen (Stichwort Redis oder MongoDB – auch hierfür existieren bereits Extensions zum einfachen Einsatz im Framework).

Mein Fazit

Ich bin wahrlich ein bekennender WordPress Liebhaber, aber immer wieder stehe ich doch auch vor Projekten, die man mit WordPress schlicht nicht umsetzen sollte und genau hierfür eignet sich Yii2 hervorragend.

Für mich kann ich durchaus klar stellen mit Yii2 Framework ein zweites Lieblingswerkzeug gefunden zu haben, was durchaus mit WordPress zusammen ab sofort zu meinem vorgezogenem Spielwiesen und auch Arbeitsplätzen geworden ist.