Vorheriger Artikel Nächster Artikel

FLOW3 vs. Symfony2: Kampf der Giganten

Aus dem
t3n Magazin Nr. 27

03/2012 - 05/2012

Mit hat im Oktober 2011 ein neues PHP-Framework das Licht der Welt erblickt. Zusammen mit Symfony2 buhlt es um die Gunst der PHP-Entwickler. Wir lassen zwei Kernentwickler aus den beiden Projekten zu Wort kommen – mit Plädoyers für „ihr“ Projekt.

FLOW3 vs. Symfony2: Kampf der Giganten

PHP-Frameworks sind besser als ihr Ruf. Zumindest heute, da sein Stigma als „Skript-Kiddy-Sprache“ abgelegt hat. Die modernen Baukästen sind schlank, objektorientiert und setzen auf moderne Konzepte wie Model-View-Controller (MVC), Dependency Injection (DI), Domain-Driven Design (DDD) und Object-Relational Mapping (ORM). Doch welches Framework passt zu welchem Projekt?

Es gibt viele Gründe für und gegen ein bestimmtes PHP-Framework. Setzt eine Agentur auf ein Standardprodukt, ist die Entscheidung bereits gefallen: Die Mitarbeiter kennen sich damit aus und es gibt viel wiederverwendbaren Code. Der große Nachteil einer solchen Konstellation ist das an ein Framework gebundene Know-how. Wird das Projekt nicht mehr gepflegt, muss die Agentur selbst ran.

Ein weiterer Grund für oder gegen ein Framework kann der Kunde sein. Hat dieser konkrete Vorstellungen? Wie sieht das Anforderungsprofil aus – Umfang des Projekts, technische Gegebenheiten, Integration bestehender Systeme?

Zu guter Letzt: Welche Kompetenz bringen die Entwickler mit? Sind diese festgefahren mit einem Produkt? Auf welche Community kann man dank zahlreicher Kontakte im Notfall zurückgreifen? Und wie umfangreich und gut ist die Dokumentation?

Auf der Suche nach einem PHP-Framework stößt man unweigerlich auf Symfony2 und FLOW3. Beide gelten als äußerst durchdacht und können – FLOW3 zumindest über den Umweg TYPO3 – auf eine starke Community verweisen. Um Agenturen und Entwicklern die Entscheidung zu erleichtern, lässt t3n die Entwickler – Karsten Dambekalns für FLOW3 und Lukas Kahwe Smith für Symfony2 – selbst zu Wort kommen.

FLOW3 – von Karsten Dambekalns

FLOW3 wurde nicht mit dem Ziel entwickelt, ein Framework zu programmieren – ein gutes Framework braucht ein anderes Ziel als sich selbst. Es entstand aus den Anforderungen und Wünschen der Entwickler an die Basis der neuen TYPO3-Version. Entsprechend standen zu Beginn die Suche nach all jenen Vor- und Nachteilen, die andere Frameworks bereits mitbringen, sowie das Lesen von Fachliteratur zu Domain-Driven Design, Enterprise Application Architecture, TDD und sauberem Code auf dem Programm.

So entstand aus der Erkenntnis, dass es noch keine für uns optimale Lösung gibt, die Basis für das nächste TYPO3. Zudem wuchs die Erkenntnis, dass diese Basis zu jedem PHP-Projekt passen könnte, die Veröffentlichung als Framework also sinnvoll ist. In der Folge wuchs das Team auf ein gutes Dutzend Entwickler.

Mit der wachsenden Größe des Teams halfen agile Entwicklungs- (Extreme Programming, XP) und Management-Modelle (Scrum, Kanban) dabei, auch die Software-Qualität zu fördern: Test-Driven Development (TDD), Code Review und Continuous Integration (CI) haben sich bei uns bewährt, wurden teilweise ins TYPO3-Projekt übernommen und sollten in Projekten heute Standard sein.

FLOW3 ist zwar verhältnismäßig jung, kann aber dank des TYPO3-Projekts im Hintergrund auf eine starke und große Community verweisen.
FLOW3 ist zwar verhältnismäßig jung, kann aber dank des TYPO3-Projekts im Hintergrund auf eine starke und große Community verweisen.

FLOW3 ist dabei breit aufgestellt – nicht nur, was die Entwicklung angeht: Git sowie das Code-Review-System Gerrit, Jenkins als CI-Server zum automatisierten Ausführen der Tests und für das Deployment von

Projekten auf Integrations- und Live-Servern gehören ebenso zum Repertoire wie tägliche Online-Meetings. Letztere helfen vor allem dabei, die Kern-Konzepte von Scrum auf ein geografisch verteiltes Team zu verteilen.

Sauberer Code, klare Ziele

Die Qualität von Software kann auf vielfältige Art beurteilt werden. Die Lesbarkeit des Quellcodes gehört aber unbedingt dazu. Denn wenn bei einer Bibliothek, einer Applikation oder einer anderen Software auch nur die geringste Chance besteht, dass ich es verändern, verbessern oder integrieren will, muss ich mich im Quellcode wohlfühlen. Nur wenn der Quellcode lesbar ist und gut aussieht, kann man mit Freude an und mit ihm arbeiten.

Im FLOW3-Projekt genießen Coding Guidelines (CGL) deshalb eine sehr hohe Priorität. Darüber hat sich noch niemand beschwert – im Gegenteil, die allermeisten Patches folgen bereits zu Beginn den Regeln. Und das verwundert nicht, denn das Wichtigste ist auf einer Seite zusammengefasst und der bestehende Code geht mit gutem Beispiel voran.

Neben dem rein „visuellen“ Programmierstil gibt es jedoch eine weitere, noch wichtigere, Komponente: den „semantischen“ Stil. Nur wenn Klassen, Methoden und Variablen aussagekräftige Namen haben, erschließt sich der Code sofort. Abkürzungen haben in der Welt von FLOW3 keinen Platz, Konsistenz geht vor Kreativität. Nur dann ist es möglich, intuitiv zu arbeiten – ohne zu Überlegen, ob es nun getEnv() oder getEnvironment() heißt.

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
2 Antworten
  1. von Heinz Inge am 31.07.2012 (09:44 Uhr)

    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 Teilen
  2. von Martin am 31.07.2012 (12:29 Uhr)

    FLOW3 würde ich als ewigen Newcomer auch nicht gerade als "Gigant" bezeichnen...

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich PHP
Laravel 5: Das sind die neuen Features des PHP-Frameworks für Designer
Laravel 5: Das sind die neuen Features des PHP-Frameworks für Designer

Laravel ist ein beliebtes PHP-Framework für „Web Artisans“ – jetzt ist es in der neuen Version 5 erschienen. Wir zeigen euch ein Best Of der 20 Neuheiten des beliebten MVC-Frameworks. » weiterlesen

Nach offiziellem Support-Ende: Bezahlte Updates für TYPO3 CMS 4.5 möglich
Nach offiziellem Support-Ende: Bezahlte Updates für TYPO3 CMS 4.5 möglich

Gestern ist von den TYPO3-CMS-Machern angekündigt worden, das immer noch weit verbreitete TYPO3 CMS 4.5 auch nach dem offiziellen Support-Ende am 31. März noch ein Jahr mit Updates zu versorgen … » weiterlesen

Das Konzept des Content-Flows, oder: Was Marketer von Komponisten lernen können
Das Konzept des Content-Flows, oder: Was Marketer von Komponisten lernen können

Es braucht ausgefeilte Methoden, um sich als Blogger im Trubel tausender Websites und Netzwerke zu positionieren. Wie dir die klassische Musiklehre bei deiner Arbeit helfen kann, erklärt Babak Zand. » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?

t3n 39 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen