Uber veröffentlicht eigenes Webframework Fusion.js

Ein neuer Tag, ein neues Framework: Das US-Unternehmen Uber hat sein Webframework Fusion.js quelloffen zur Verfügung gestellt.

 –  2 Kommentare
Uber veröffentlicht sein eigenes Web-Framework Fusion.js

(Bild: Meditations, PIxabay)

Der US-Fahrdienstleister Uber hat sein Webframework Fusion.js quelloffen auf GitHub veröffentlicht. Dabei handelt es sich um ein JavaScript-Framework, das Bibliotheken wie React und Redux, aber auch Features wie Module Reloading, Server-Side Rendering und Support für Bundle Splitting integrieren soll. Es besteht aus einem Command-Line Interface sowie einem Koa-Server. Koa soll laut Uber eine kontextbasierte API bieten, die für Unit-Tests gut geeignet ist.

Fusion.js setzt auf eine Plug-in-Architektur, die Entwicklern das Wiederverwenden von Code auf dem Server und im Browser ermöglichen soll. So sollen React-Komponenten beispielsweise Daten abrufen und HTML serverseitig rendern können. Das soll die Ladezeit einer Seite verbessern, da die Komponenten den HTML-Parser des Browsers einsetzen können.

Fusion.js-Plug-ins kapseln Logik basierend auf ihrer Gruppierung (Bild: Uber)

Durch den Architekturansatz mit einem einzelnen Einstiegspunkt sollen die Fusion-Plug-ins selbst ebenfalls universal einsetzbar sein. Sie haben dank Middlewares Zugriff auf den HTTP-Request-Lifecycle und können auch auf den React Tree zugreifen, um Provider-Komponenten hinzuzufügen. Sie können außerdem Browsercode initialisieren. Dadurch soll es laut Uber möglich sein, eine Bibliothek mit einer einzelnen Codezeile zu installieren – egal, wie viele Integrationspunkte die Bibliothek erfordert.

Als Grund für die Entwicklung eines eigenen Webframeworks gibt Uber an, dass sie sich von einem monolithischen Webframework weg entwickeln, gleichzeitig ihren Entwicklern aber die Möglichkeit geben wollten, bereits eingesetzte Technologien zu verwenden (beispielsweise React und Redux) und ein Zusammenspiel mit Ubers Monitoring-Infrastruktur zu gewährleisten.

Wer das Projekt testen möchte, ist mit der Dokumentation auf der Fusion-Website gut beraten. Fusion.js findet sich im gleichnamigen GitHub-Repository. (bbo)