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

tec flow3 symfony

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.

dms 7b1e3109ef9a422434ed277978bb5544
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.

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.

1 3 4
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
TYPO3: 10 NEOS-Projekte im Einsatz
TYPO3: 10 NEOS-Projekte im Einsatz

TYPO3 Neos legt als jüngste Schöpfung aus dem TYPO-Universum den Fokus auf den Content-Manager und die Usability. Trotz des noch jungen Alters des CMS finden sich bereits jetzt viele mit TYPO3 … » weiterlesen

PHPStorm 8: Alle Features der neuen Version im Überblick
PHPStorm 8: Alle Features der neuen Version im Überblick

JetBrains hat PHPStorm 8 veröffentlicht. Die neue Version der beliebten Entwicklungsumgebung unterstützt jetzt PHP 5.6 und bringt unter anderem auch Support für WordPress und Drupal 8 mit. » weiterlesen

TYPO3 Neos: Das beste TYPO3 aller Zeiten wird gelauncht
TYPO3 Neos: Das beste TYPO3 aller Zeiten wird gelauncht

Das neue Content-Management-System TYPO3 Neos, das heute veröffentlicht wird, stellt die Anforderungen des Editors in den Mittelpunkt – des Anwenders, der Web-Inhalte erstellt und verwaltet. » weiterlesen

Kennst Du schon unser t3n Magazin?

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