Menü
Developer

f8: Facebook schreibt React neu, aktualisiert Relay und stellt UI-Framework für Android vor

Auf Facebooks Entwicklermesse f8 waren auch die Open-Source-Projekte des Unternehmens zur Mobil- und Webentwicklung ein Thema. Neben weiteren Open-Source-Legungen wurden Updates und Rewrites näher erklärt.

vorlesen Drucken Kommentare lesen 1 Beitrag

Den ersten Tag von Facebooks Entwicklerkonferenz nutzte das Unternehmen unter anderem, um sein Engagement in Sachen quelloffener Software zu demonstrieren. Beispielsweise stellte es mit Litho ein Framework zum Entwickeln besonders effizient arbeitender Android-Anwendungsoberflächen vor, das nun unter einer 3-Klausel-BSD-Lizenz zur Verfügung steht. Es ist wohl aus den Erfahrungen mit typischen Nutzern von Facebooks Android-App entstanden, denen unterwegs nicht immer eine schnelle, stabile Internetverbindung zur Verfügung steht, die man aber nicht mit langen Ladezeiten abschrecken will.

Litho nutzt eine deklarative Anwendungsschnittstelle zum Definieren von UI-Komponenten und kann letztere vorab präparieren, ohne den UI-Thread zu blockieren. Außerdem verwendet es eine "Fine-grained Recycling" genannte Technik, die es ermöglicht, Komponenten wie Texte oder Bilder überall in der Anwendung wiederzuverwenden, was ebenfalls Berechnungszeit spart. Laut Facebooks Adam Wolff kommt das Framework bereits in einer Reihe von Android-Anwendungen des Unternehmens zum Einsatz.

Präsentiert wurde mit Relay Modern darüber hinaus eine neue Version des JavaScript-Frameworks Relay, das zum Entwickeln datengetriebener Anwendungen gedacht ist. Es soll die Vorzüge seines Vorgängers, zu denen unter anderem die sich bei Datenänderungen selbst aktualisierenden Views zählen, mit neuen Funktionen wie einem lokalen Status oder Cache Eviction (Räumung des Zwischenspeichers) kombinieren. Durch den Aufbau als modulares Tool-Set soll es zudem als Grundlage eines Client-Ökosystems für die seit 2012 in Entwicklung befindliche Datenabfragesprache GraphQL dienen.

Nachdem React VR schon auf der React Conf im März Thema war, hat Facebook die f8 noch einmal dazu genutzt, um auf das Projekt hinzuweisen. Die zugehörigen Quellen sind ebenfalls auf GitHub zu finden und sollen es mit JavaScript vertrauten Entwicklern ermöglichen, mit React-Komponenten Virtual-Reality-Anwendungen in zu erstellen.

Da der Rewrite des Kerns der React-Bibliothek zum Entwickeln interaktiver UIs bereits so weit fortgeschritten ist, dass die Neuimplementierung produktiv von Facebook genutzt wird, kam die Sprache auch auf React Fiber. Es soll als Teil von React 16.0 im Laufe des Jahres erscheinen und unter anderem der wachsenden Komplexität von React-Anwendungen und dem Wunsch, auch schlechter ausgestattete Mobilgeräte ordentlich bedienen zu können, Rechnung tragen. Außerdem haben die Entwickler den Rewrite wohl so gestaltet, dass sich Fiber besser erweitern lassen soll, als es bei React der Fall war.

Mozillas Lin Clark erklärte Fibers Kernkonzepte ausführlich auf der React Conf 2017.

Fiber soll bis auf wie von Major Releases zu erwartenden kleineren Ausnahmen rückwärtskompatibel sein und langfristig die Grundlage für die Innovationen der nächsten Jahre darstellen. Auf kurze Sicht sollen sich Entwickler unter anderem über aussagekräftigere Fehlermeldungen und Stack Traces freuen können, die unter anderem den Einstieg erleichtern. Außerdem wies Tom Occhino von Facebook auf die geringere Größe, Flow-Typisierung und die Fähigkeit der neuen Version hin, Arrays und Strings von Render-Funktion zurückliefern zu lassen. Einen Überblick über die Architektur von React Fiber ist auf GitHub zu finden. (jul)