Entwicklung & Design

FLOW3 vs. Symfony2: Kampf der Giganten

Seite 2 / 4

Ein Framework, kein Baukasten

Die Abgrenzung von FLOW3 zu Apache Zeta Components (ehemals ezComponents) und dem Zend Framework ist einfach: Zeta und Zend sind Sammlungen von Komponenten. Wie in Perl gibt es mehr als einen Weg zur Lösung. Gerade für Einsteiger kann dies eine große Hürde sein. Wird nur eine einzelne Komponente benötigt, können diese Projekt eine gute Lösung bieten. Soll jedoch eine Applikation von Grund auf damit entwickelt werden, hat man die Qual der Wahl – und bekommt am Ende eine Lösung, die sich genau soviel von allem anderen unterscheidet, dass die üblichen Problemlösungen nicht weiterhelfen.

Wer einen ganzheitlichen Ansatz sucht, ist jedoch auch bei anderen Frameworks nicht am Ziel. Meist muss der Kern für ein neues Projekt um zusätzliche Komponenten erweitert werden – schon gibt es wieder die Qual der Wahl und mehrere Wege, Benutzer einzuloggen oder REST zu unterstützen.

FLOW3 verfolgt als Applikations-Framework einen anderen Ansatz: Wirklich wichtige Komponenten werden mitgeliefert, Konvention geht vor Konfiguration. Zudem entfällt die Entscheidung zwischen XML, PHP und YAML – es gibt nur YAML. Der Dependency-Injection-Container wird nicht mit XML konfiguriert, sondern ist durch Auto-Wiring nahezu wartungsfrei. Policies regeln Zugriffsbeschränkungen auf Methoden und Daten zentral.

Erweiterbarkeit und Integration

Jedes Framework ist nur so gut, wie die zusätzlichen Möglichkeiten, die es bietet. FLOW3 ist noch jung und wird, TYPO3 hat es vorgemacht, in Zukunft sicher eine Menge Erweiterungen bekommen. Das FLOW3 Package Repository nimmt in der Planung bereits konkrete Züge an und wird sich viel von verteilter Versionskontrolle abschauen.

Um aber nicht ständig das Rad neu erfinden zu müssen, kann FLOW3 künftig jede PSR-0-konforme Erweiterung unverändert als Package nutzen. Zudem ist die direkte Nutzung von Komponenten aus Zend und Symfony geplant.

Das konsequente Entwickeln gegen Interfaces in FLOW3 ermöglicht es, viele Komponenten gegen eigene Implementierungen zu tauschen sowie neue hinzuzufügen. Es fehlt das passende Logging- oder Caching-Backend? Kein Problem. Das CouchDB-Paket für FLOW3 zeigt, dass auch grundlegende Dinge angepasst werden können. Auch ein SOAP-Controller und die Zusammenarbeit mit dem Solr-Projekt sind bereits erfolgreich im Einsatz.

Und die eigentliche Business-Logik? Durch den Fokus auf Domain-Driven Design, die Nutzung der daraus resultierenden Konzepte für die Datenspeicherung und die „automatische“ Dependency Injection, ist der Code, der die eigentliche Funktionalität umsetzt, vom Framework so unabhängig wie möglich. Bereits in PHP umgesetzte Prozesse lassen sich mit relativ geringem Aufwand in FLOW3 nutzen und umgekehrt FLOW3-basierte Applikationen in anderem Umfeld weiterentwickeln.

Geschwindigkeit

Traditionell wird der Geschwindigkeitskampf über Benchmarks ausgetragen, diese sind jedoch in den meisten Fällen für das reale Projekt nur wenig hilfreich. Die Laufzeit-Performance eines Projekts kann durch Caching und Skalierung (fast) immer in Bereiche gehoben werden, die für das Projekt ausreichen. Viel wichtiger ist doch, was im Projektalltag passiert. Wie schnell kann ein neuer Entwickler den Code verstehen? Wie lange dauert es, eine neue Version auf den Live-Server zu bringen? Wie kostspielig ist ein Update des Frameworks?

FLOW3 wird mit einem starken Usability-Fokus entwickelt. Der Entwickler soll möglichst wenig tippen müssen und trotzdem intuitiv arbeiten können. Konfiguration soll überflüssig sein, wo dies durch sinnvolle Konventionen möglich ist. Dies ermöglicht schnelle Entwicklung auch nach dem Scaffolding und vereinfacht die Wartung. Updates sind sauber dokumentiert und für notwendige Anpassungen am Projekt stellt FLOW3 Tools wie „Surf“ bereit.

Community und Verbreitung

FLOW3 liegt, was die Verbreitung und die Größe der Community angeht, aufgrund seines jungen Alters weit hinter anderen Frameworks zurück. Das Potenzial ist jedoch enorm, wenn man die TYPO3-Community betrachtet. Die Rückendeckung durch das TYPO3-Projekt und die bereits jetzt stetig wachsende Community mit Usergroups in ganz Deutschland geben hier die Richtung vor.

Auch die Tatsache, dass bereits ein halbes Jahr nach dem ersten Relase eine Handvoll Unternehmen das Framework für kostspielige Projekte bis hin zur zentralen Verwaltung aller Kundendaten nutzen, zeigt, wie belastbar das Framework ist. Und es zeigt, welches Vertrauen man in FLOW3 setzen kann.

Der Autor

Karsten Dambekalns lebt mit seiner Frau Līga, drei Kindern und einer namenlosen Kaffeemaschine in Lübeck. Zwei Jahre nach dem Erstkontakt mit TYPO3 stieg er bei der T3BOARD04 erstmals auf die Bretter und beschäftigte sich mit der Umsetzung des DBAL-Projekts. Seit 2005 ist er Kernentwickler des CMS, bis 2012 war er im Steering Committee der TYPO3-Association. Seit 2008 arbeitet er ausschließlich an TYPO3 Phoenix.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

2 Kommentare
Heinz Inge
Heinz Inge

Beide leiden unter demselben Problem, Vermüllung und unglaubliche Langsamkeit.
Grade Flow3 kann ich leider nicht ernst nehmen weil es von denselben Leuten geschrieben wurde die es über viele Jahre nicht geschafft haben Typo3 benutzbar zu machen. (Und nein, nur weil viele T3 im Einsatz haben heisst es nicht das es auch benutzbar ist, es garantiert nur gute Einnahmen weil man Schulungen und teure Anpassungen verkaufen kann)

Diese „Überstandardisierung“ ekelt mich an. Man verbringt mittlerweile mehr Zeit damit Standards umzusetzen, Tests zu schreiben und das Caching zu verfeinern als die eigentliche Aufgabe zu erfüllen.

99% der Webprojekte würden diesen Aufwand niemals rechtfertigen und sind schlicht „Overengineered“.

Ich habe dabei nichts gegen Frameworks an sich, aber sobald sie mehr Arbeit machen als sie Probleme lösen bzw ohne massives Caching gar nicht benutzbar sind verursachen sie ohne Zwang unnötige Kosten.

Ich halte es lieber Frei nach dem Motto: „Frickelst du noch oder verdienst du schon?“

Antworten
Martin
Martin

FLOW3 würde ich als ewigen Newcomer auch nicht gerade als „Gigant“ bezeichnen…

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung