Benutzer:Sgtypo3/FLOW3

aus Wikipedia, der freien Enzyklopädie
FLOW3

Logo von FLOW3
Basisdaten

Entwickler Robert Lemke, TYPO3 Association
Betriebssystem plattformunabhängig
Programmiersprache PHP
Kategorie Framework
Lizenz LGPL, Version 3 oder höher (Freie Software)
deutschsprachig nein
[1]

Der Artikel ist eine Kopie von FLOW3. Sie wurde erstellt, weil der Artikel "FLOW3" im Jahr 2009 gelöscht worden war. Mittlerweile ist er wiederhergestellt worden. Ich habe geradedie Änderungen, die an diesem Entwurf hier vorgenommen wurden, in den Artikel FLOW3 eingearbeitet. Dieser Text hier kann damit gelöscht werden. --88.130.97.69 18:09, 21. Okt. 2011 (CEST)


FLOW3 ist ein in PHP geschriebenes freies Applikation-Framework, das sich derzeit in der Alphatestphase befindet. Es wird in erster Linie als Grundlage der TYPO3 Version 5.x entwickelt, eignet sich aber generell für die Entwicklung von Software in PHP mit einem mittleren oder hohen Umfang.

Geschichte

Im Jahr 2007 begannen konkrete Bemühungen um die Entwicklung von TYPO3 5, wofür zunächst ein Refactoring des Kerns vorgesehen war. Jedoch wurde schnell klar, dass neue Konzepte umfassende Änderungen erfordert hätten, die letztendlich die Stabilität des Systems hätten gefährden können. So entschloss man sich für die neue Version von der alten Codebasis zu trennen, die in den Anfängen von TYPO3 wurzelt und teilweise nicht objektorientiert ist.

Ziel war moderne und zukunftssichere Basis für weitere TYPO3 Versionen zu schaffen. Einhergehend mit der Verwendung von modernen Konzepten, Techniken und Entwurfsmustern hatten die Entwickler zu Beginn unter anderem mit Problemen der in PHP 5.3 neu eingeführten und noch fehlerbehafteten Implementierung von Namespaces innerhalb von PHP zu kämpfen[1].

Im Juni 2009 erschien mit FLOW3 1.0.0 Alpha 1 das erste Build.

Paradigmen

Die Entwickler von FLOW3 setzen auf eine Reihe von Paradigmen und Entwurfsmustern, die teilweise in der PHP-Szene als innovativ anzusehen sind. Zu den Wichtigsten gehören:

Auch im Java WCMS Bereich findet der 5.x Zweig von TYPO3 und dessen Basis FLOW3 für seine moderne Architektur Beachtung[3].

Fluid Template Engine

FLOW3 besitzt seine eigene Template Engine mit dem Namen Fluid[4]. Obwohl es bereits eine Reihe von Template Engines gibt, genügte keine den Anforderungen der Entwickler. Beim Entwurf von Fluid lag das Hauptaugenmerk auf folgenden Eigenschaften:

  • Unterstützung von Logik (wie Bedingungen, Schleifen oder Iteration über Arrays)
  • Verbot von PHP-Code in der Template-Datei
  • Einfache Erweiterbarkeit
  • Einfache Syntax
  • XML-Struktur um eine automatisierte Validierung von Templates zu ermöglichen

Ein Beispiel:

<f3:for each="{blogPosts}" as="post">
  Title: {post.title}<br />
</f3:for>

blogPosts ist ein PHP-Array, das im PHP-Code an Fluid übergeben werden muss. Im Template lässt sich mit diesem Beispiel über dieses Array iterieren und der Titel jedes Post-Objekts ausgeben.

Die Tags, die sich zur Steuerung und Manipulation der Ausgabe in das Template einsetzen lassen, werden View Helper genannt. Durch die Möglichkeit relativ einfach selbst View Helper zu entwickeln ist die Erweiterbarkeit von Fluid gegeben.

Entwicklungsstand

Die aktuelle FLOW3 1.0.0 Alpha 7 erschien am 19. Januar 2010[5]. Laut Entwicklern soll in Zukunft monatlich immer eine neue Alpha-Version erscheinen, bis FLOW3 reif für die Beta-Phase ist. Aufgrund seines Alpha-Status kann sich die API noch so verändern, dass sie nicht rückwärtskompatibel ist.

Der aktuelle Entwicklungsstand kann im SVN-Repository[6] und im Bugtracker[7] verfolgt werden.

Zusammenhang mit TYPO3

Initiative

FLOW3 wurde von der TYPO3 Community initiiert und wird derzeit ausschließlich von TYPO3 Core Developers entwickelt. Das primäre Ziel ist eine Basis für TYPO3 Version 5 zu schaffen.

Koordination

Die Entwicklung und Herausgabe von FLOW3 wird außerdem -genau wie von TYPO3- von der TYPO3 Association koordiniert.

Annähern von TYPO3 4.x

Um der Community später den Umstieg und die Migration von Modulen von TYPO3 Version 4 auf Version 5 zu erleichtern,[8] wurden seit TYPO3 4.3[9] viele in FLOW3 zum Einsatz kommende Techniken portiert. Dazu gehört auch die im Zuge von FLOW3 entwickelte Template-Engine Fluid. Mit einer Beispiel-Extension auf Extbase-Basis[10] wurde die Möglichkeit demonstriert, bereits mit der Herausgabe von TYPO3 4.3 Paradigmen wie MVC oder Domain-Driven Design in der Praxis einzusetzen[11].

Außerdem können die neuen Konzepte so am weit verbreiteten 4.x-Zweig von TYPO3 getestet werden, was die spätere Portierung zum 5.x Zweig erleichtert.

Diese Annäherung des 4.x-Zweiges von TYPO3 an FLOW3 wurde auf den Transition Days 2008[12][13] in Berlin beschlossen.

Einzelnachweise

Weblinks

Kategorie:Freie Software Kategorie:Skriptsprache PHP