Robert Lemke im Interview zu FLOW3

News  –  0 Kommentare

Anlässlich der TYPO3-Community-Konferenz T3CON11 und der zum 20. Oktober anstehenden Veröffentlichung der Version 1.0 des FLOW3-Frameworks, hat sich heise Developer auf ein paar Worte mit Robert Lemke, dem Core-Entwickler hinter FLOW3, an einen Tisch gesetzt.

heise Developer: Ihr habt euch am Anfang noch nicht vorstellen können, was mit FLOW3 alles machbar wäre und wohin die Reise gehen könnte. Was war damals Euer Anspruch an FLOW3 – was habt ihr erreichen wollen, wo steht ihr heute und was wollt ihr künftig noch umsetzen?

Robert Lemke: Eigentlich wollten wir ja wirklich nur das CMS machen, wir hatten echt nicht vor, ein Framework zu erarbeiten. Was mir aber wichtig war – Nur, dadurch, dass wir so viele Extensions hatten bei TYPO3, gibt es für Entwickler auch etliche Möglichkeiten, Fehler zu machen, oder generell eben auch viel falsch zu machen. Deswegen wollte ich gerne eine Basis haben, durch die viele Fehler schon im vornherein verhindert werden, indem du durch Konventionen dazu geführt wirst, sauber zu programmieren.

Robert Lemke ist leitender Entwickler von TYPO3 Phoenix, Vater des FLOW3-Frameworks und Mitgründer der TYPO3 Association. Er begeistert sich für Clean Code und hat es sich zur Aufgabe gemacht, bewährte Entwicklungstechniken und -architekturen aus anderen Programmiersprachen in die PHP-Welt zu bringen. Aktuell arbeitet Robert Lemke in Vollzeit an TYPO3 und FLOW3.

heise Developer: Wobei es sich, wie in der Keynote angesprochen, so anhört, dass ihr diese Konventionen vorgebt – es ist nicht wie bei einem reinen Komponentenframework so, dass ich mir nur ein paar Rosinen herauspicke. Wenn ich FLOW3 einsetze, dann auch nur FLOW3.

Robert Lemke: Genau. Es ist zwar so gut gekapselt, dass das Framework nur minimale Abhängigkeiten zu deinem Code aufweist, das heißt, der Code, den du entwickelst, hat nur minimale API-Abhängigkeiten zu FLOW3. So kann man zum Beispiel eine Symfony-Komponente nehmen und sie direkt in FLOW3 benutzen. Andersherum aber kannst du nicht einfach Teile der Funktionalität von FLOW3 herausziehen, wie es zum Beispiel mit dem Zend Framework ginge, dass ja wirklich sehr komponentenbasiert ist. Symfony ist da ganz ähnlich, wenn auch mit stärkeren Zusammenhängen. Beispielsweise unterscheiden sie hier zwischen Bundles und Components, da kann man sich den HTTP-Kernel herausziehen oder die Dependency Injection – das geht bei FLOW3 nicht.

heise Developer: Seht ihr Symfony als Konkurrenz an, als Mitbewerber?

Robert Lemke: Doch, schon. Gerade, weil ich finde, dass Symfony ein gutes Framework ist, gucke ich da schon darauf, zumal viele der Entwickler, die sich im Moment für FLOW3 interessieren, ursprünglich Symfony für ihre Projekte in Betracht gezogen haben. Dabei haben wir sogar viele Konzepte gemeinsam, machen aber eine ganz andere Geschmacksrichtung daraus und bieten ein anderes Gesamtkonzept.

heise Developer: Ich weiß, dass du von Dingen wie der aspektorientierten Programmierung (AOP) ja schon seit Jahren sprichst. Warum kommt das Thema jetzt erst so richtig hoch?

Robert Lemke: Ich glaube, AOP kommt sogar immer noch nicht richtig hoch (lacht). Aber Dependency Injection habe ich vor, ich weiß nicht, vor sechs Jahren wahrscheinlich das erste Mal bei einer PHP-Konferenz eingereicht, es war aber noch nicht interessant genug. Inzwischen ist das verbreitet und die PHP-Community hat sich langsam in die Richtung entwickelt, wo PHP nicht mehr nur als Templating-Sprache, sondern wirklich auch für große und ernsthafte Projekte herangezogen wird.

heise Developer: Spürt man, dass Unternehmen Interesse daran haben, die Entwicklung voranzutreiben?


"Grundsätzlich gestattet es FLOW3, dass Entwickler nicht zu viel Code schreiben brauchen, gleichzeitig aber auf möglichst wenig "Magie" vertrauen müssen."


Robert Lemke: Wir machen das ja vor dem Hintergrund, dass die Anforderungen immer komplexer werden. Gerade im TYPO3-Umfeld haben wir in den vergangenen zehn Jahren Erfahrung darin sammeln können, was so gebraucht wird – die Applikationen enthalten immer mehr Business-Logik, die Leute benutzen die Technik nicht mehr nur für eine Webseite, sondern entwickeln ihr Marketing-Instrument damit, oder ihre Abrechnungssoftware für Vertreter oder sonst was. Ich habe in anderen Programmiersprachen und anderen Frameworks nachgeschaut, was es für Techniken gibt, all das wirklich zu vereinfachen. Damit man komplexe Projekte einfacher umsetzen kann.

heise Developer: Was bietet FLOW3 in dieser Hinsicht?

Robert Lemke: Grundsätzlich gestattet es FLOW3, dass Entwickler nicht zu viel Code schreiben brauchen, gleichzeitig aber auf möglichst wenig "Magie" vertrauen müssen. Die Entwicklung soll durchschaubar bleiben und es darf nicht plötzlich etwas Unvorhergesehenes passieren. Man muss verstehen, dass es ein Grundprinzip gibt und das soll wiedererkennbar bleiben. Wenn ich an so typischen Sachen arbeite, zum Beispiel sollen Kundeninformationen dargestellt werden, dann schreibe ich meinen Controller mit einer Methode, die hat vielleicht drei, vier Zeilen PHP-Code. Dazu kommt mein Template in HTML, in Fluid – und ich kann sicher sein, dass das Framework zum Beispiel Security-Feature darauf anwenden kann. Denn wenn ich die Konventionen befolgt habe (meine Action showAction genannt habe, oder deleteAction) greifen auch die Standard-Sicherheitseinstellungen und über AOP wird der Security-Code von zentraler Stelle dort eingepflegt.