Abheben mit Flight: Webframework von Twitter

Das nun als Open-Source-Software verfügbare JavaScript-Framework soll beim Strukturieren von Webanwendungen helfen, indem es das Document Object Model entkoppelt.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Im Zuge größerer Umwälzungen der Twitter-Website kam bei der Überarbeitung der clientseitigen Infrastruktur ein eigens entwickeltes JavaScript-Webframework zum Einsatz. Dieses hat der Mikroblogging-Dienst nun unter dem Namen Flight als unter der MIT Licence stehende Open-Source-Software einer größeren Webentwicklergemeinde auf GitHub zur Verfügung gestellt. Es kann anscheinend beim Strukturieren von Webanwendungen helfen.

Flight soll sich von anderen Frameworks dadurch unterscheiden, dass es sich nicht auf eine besondere Vorgehensweise beim Rendern oder Bereitstellen von Daten für eine Webanwendung einlässt. Es verhält sich offenbar agnostisch dabei, wie die Anfragen weitergeleitet werden, welche Templating-Sprache verwendet wird oder ob Entwickler ihr HTML auf Client- oder Serverseite rendern. Flight baut auf dem bestehenden DOM-Modell auf, wobei Funktionen direkt auf DOM-Knoten abgebildet werden. Twitter verspricht sich dadurch ein nativeres Weberlebnis.

Flight setzt eine strikte Umsetzung des Patterns "Separations of Concerns" voraus. Von Haus aus können Komponenten einer mit Flight betriebenen Webanwendung nicht von anderen verwendet werden, und sie können auch nicht Eigenschaften des globalen JavaScript-Objektbaums werden. Komponenten interagieren also nicht direkt, sondern senden ihre Aktionen als Events, die wiederum von anderen Komponenten bezogen werden.

Dadurch sollen Komponenten laut Twitter einfach und zuverlässig getestet werden können, da Events die einzigen Variablen sind, mit denen die Komponenten zu tun haben – und diese sind einfach zu erstellen. Komponenten können über die Events auf dem DOM-Baum so lange zugreifen wie sie im Bereich der Baumknoten sind. Flight unterstützt funktionale Mixins samt Schutz vor duplizierten Mixins und unbeabsichtigtem Überschreiben.

Auf GitHub befinden sich außer dem Code Dokumentations- und Demo-Material sowie eine Beispielanwendung. Geplant ist außerdem, ein Test-Framework und weitere Werkzeuge zu ergänzen, die ebenfalls bei der Neugestaltung von Twitters Webfrontend zum Einsatz kamen. (ane)