FLOW3: Erster Eindruck

Da ich aktuell an einer kleinen FLOW3(-Übungs)-Anwendung arbeite, wollte ich einfach mal meine ersten Eindrücke aufschreiben.

Als erstes ist zu sagen, dass FLOW3 so ziemlich das sauberste Framework ist, das ich je gesehen habe. Die komplette Architektur ist durchdesigned und hat ein klares Konzept: Der eigene Code soll so klein wie möglich ausfallen.
Mit Hilfe des Kickstarters nimmt einem das Framework die langweilige Schreibarbeit beim Anlegen von Model, Controller und Templates ab.
Außerdem kommen viele moderne Design Patterns wie Dependency Injection, Domain Driven Design oder Aspekt Orientierte Programmierung zum Einsatz. Mit Doctrine wurde zudem auf ein solides ORM gesetzt.

Klingt im ersten Moment alles super, aber man merkt, dass FLOW3 noch sehr jung ist. Einfache Dinge wie Datensätze anlegen, bearbeiten, löschen sind erschreckend schnell gemacht (dank Kickstarter), aber sobald man etwas spezielleres braucht, ist es schwierig an Beispiele und Informationen zu kommen. In der Dokumentation fehlen viele Bereiche oder sind noch nicht optimal beschrieben. Daneben gibt es als Informationsquelle nur noch eine Mailinglist und vereinzelte Blog-Artikel, die zum Teil aber nicht mehr mit der neusten FLOW3-Version kompatibel sind.
Ein weiterer Nachteil ist aus meiner Sicht die Geschwindigkeit. Der erste Aufruf ist besonders langsam, weil der Cache erstmal aufgebaut werden muss – das lässt sich aber noch verkraften. Aber auch alle anschließenden Aufrufe sind für meinen Geschmack noch zu langsam. Hier wurde allerdings schon Besserung versprochen. Die Entwickler wollen sich erst um Funktionalität und dann um Geschwindigkeit kümmern.

Alles in allem hat FLOW3 großes Potenzial und eine sehr gute Basis, aber im aktuellen Status würde ich es noch nicht für Geschäftskritische Anwendungen empfehlen. Ich bin aber guter Dinge, dass sich in den nächsten Monaten viele der zuvor genannten Baustellen verkleinern werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.