Entwicklung & Design

FLOW3 vs. Symfony2: Kampf der Giganten

Seite 3 / 4

SYMFONY2 – von Lukas Kahwe Smith

Wieso man sich Symfony2 genauer anschauen sollte, fragte ich per Twitter. Schnell kam eine Antwort: „Einfach den Quellcode zeigen, dann sollte alles klar sein.“ Stimmt, denn es gibt nur wenige PHP-Projekte von ähnlicher Größe, die sowohl in Design, Architektur und Konsistenz mithalten können.

Noch schneller erhält man einen Überblick, wenn man direkt zur Entwicklungsquelle surft, dem Symfony2-Github-Repository. Die detaillierten Code-Reviews der Community jedes Pull-Requests zeigen, dass das Resultat unweigerlich zu hoher Qualität gelangt.

An der Spitze dieser Community sitzt Fabien Potencier, ein Perfektionist, der in Sachen Produktivität seinesgleichen sucht. Mit Github hat er das notwendige Werkzeug gefunden, die Community zum Zentrum der Entwicklung zu machen. Denn Github schafft jene Transparenz, die es ihm und allen Beteiligten zu jeder Zeit ermöglicht, den Prozess zu überblicken und zu beeinflussen.

Um es also klar zu sagen: Ohne Github gäbe es Symfony2 in dieser Form heute nicht. Und ohne Fabien Potencier gäbe es Symfony2 in dieser Form heute auch nicht. Aber ohne die Community würde Fabien, bei all seiner Produktivität, noch Jahre brauchen, um soweit zu sein wie wir heute schon sind.

Zahlen und Fakten

Symfony2 ist ein PHP-5.3-basiertes HTTP-Applikations-Framework (mehr dazu weiter später). Es übernimmt Konzepte vom Java Spring Framework, von Pythons Django sowie einer Vielzahl von anderen Frameworks. Quasi das Beste aus allen Welten. Im Kern liefert es über 20 Komponenten, die es ermöglichen sollen, eigene Domain-spezifische Frameworks entwickeln zu können. Daher sind auch alle Komponten eigenständig nutzbar. Um das Ganze auch in der Praxis zu testen, gibt es, ebenfalls aus der Feder von Fabien Potencier, das Micro-Framework Silex (siehe Artikel ab Seite 156). Inspiration hier war Rubys Sinatra.

Symfony2 setzt stark darauf, bewährte Lösungen anderer Frameworks zu übernehmen und kann damit eine hohe Qualität vorweisen.

Symfony2 setzt stark darauf, bewährte Lösungen anderer Frameworks zu übernehmen und kann damit eine hohe Qualität vorweisen.

Symfony2 setzt auf eine Vielzahl von Komponenten aus der Community. Darunter Twig, Swiftmailer, Doctrine, Assetic, Monolog und Composer. Und im näheren Umfeld von Symfony2 haben sich noch andere Komponenten entwickelt: Imagine, Buzz, Goutte, Jackalope, Behat und Mink. Das NIH-Syndrom (not invented here) gibt es also bei Symfony2 nicht.

Dabei sollte nicht unerwähnt bleiben, dass auch hier diverse der genannten Projekte Portierungen erfolgreicher Bibliotheken aus anderen Sprachen sind. So könnte man auch sagen, dass die Symfony2-Community das Konzept „Standing on the Shoulders of Giants“ voll und ganz verinnerlicht hat.

Diese Philosophie wird mittlerweile auch erfolgreich in andere Frameworks exportiert: So werden etwa die nächsten Versionen von phpBB und MidgardCMS Symfony2 nutzen, Drupal 8 hat bereits zwei Symfony2-Komponten integriert und evaluiert weitere.

Erweiterungen und Integration

Das Symfony2-Framework selbst ist über so genannte Bundles erweiterbar. Genauer gesagt ist das Framework selbst auch ein Bundle, genannt FrameworkBundle. Was dies verdeutlicht? Alles bei Symfony2 ist austausch- und erweiterbar, auch dank des Dependency-Injection-Containers. Über diesen registrieren alle Bundles eigene „Services“ samt ihren zugehörigen Abhängigkeiten.

Im inoffiziellen Bundle-Index knpbundles.org sind mittlerweile über 1000 Bundles gelistet und täglich kommen etwa fünf neue hinzu. Die Webseite bietet zudem einen Algorithmus, der aus den Nutzern, die das Projekt auf Github verfolgen, jenen, die sich an der Entwicklung beteiligen, den Unit-Tests auf Travis-CI.org und anderen Faktoren einen Wert bestimmt, der als Indikator eine Bewertung darüber abgibt, wie gut das Bundle in der Community akzeptiert ist.

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