Cross-Plattform-Entwicklung: React Native 0.65 zielt auf Barrierefreiheit

React Native 0.65 bietet für iOS eine kontrastreichere Darstellung und kann auf Android verlängerte Timeout-Zeiten nutzen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: Sata Production/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Maika Möbus

Facebook hat React Native 0.65 veröffentlicht. Das Framework zur Entwicklung mobiler Anwendungen bietet neue Accessibility-Features wie einen kontrastreicheren Farbmodus für iOS. React Native hat zudem die JavaScript-Engine Hermes in Version 0.8 im Gepäck, und diese wiederum kann mit einem brandneuen Garbage Collector aufwarten.

Mit der Zustimmung zur GAAD Pledge (Global Accessibility Awareness Day) versprach Facebook im letzten Jahr, React Native barrierefreier zu gestalten. Die GAAD Pledge ist ein von der digitalen Agentur Diamond ins Leben gerufenes Projekt. Unternehmen sowie Entwicklerinnen und Entwickler können durch ihren Beitritt ein Versprechen kundtun, dass sie in ihren Open-Source-Projekten der Barrierefreiheit eine zentrale Rolle beimessen.

Die konkreten Auswirkungen in React Native 0.65 betreffen unter anderem eine kontrastreichere Farbdarstellung in iOS: Für die DynamicColorIOS-Funktion lassen sich nun nicht nur die Pflichtfarben light und dark angeben, sondern optional auch die damit korrespondierenden, hochkontrastierenden Farben highContrastLight und highContrastDark. Welche Farbe in der Runtime zu sehen ist, hängt dann von der aktuellen Systemdarstellung und den Accessibility-Einstellungen ab.

DynamicColorIOS({
  light: color,
  dark: color,
  highContrastLight: color, // (optional) will fallback to "light" if not provided
  highContrastDark: color // (optional) will fallback to "dark" if not provided
});

Android-Entwicklern steht unterdessen die neue API getRecommendedTimeoutMillis zur Verfügung. Sie zeigt den in der Android-Eingabehilfe festgelegten Default-Timeout-Wert von Usern, die ihn beispielsweise erhöht haben könnten, wenn sie zum Erreichen einer Schaltfläche mehr Zeit benötigen.

Der aktuelle Bearbeitungsstand dieser und weiterer Barrierefreiheits-Features in React Native lässt sich anhand einer Übersicht auf GitHub nachvollziehen.

Neben den Accessibility-Neuerungen hat React Native 0.65 auch Hermes in Version 0.8 an Bord. Die Open-Source-JavaScript-Engine entspringt ebenso Facebooks Entwicklungsabteilung wie React Native und ist für die Nutzung mit dem Framework gedacht.

Hermes 0.8 nutzt standardmäßig einen neuen Concurrent Garbage Collector, bei dessen Namensgebung Facebook weiterhin in der griechischen Sagenwelt verbleibt: Hades soll auf 64-Bit-Geräten bis zu 30-fach kürzere Pausenzeiten bieten. Dazu nutzt der Großteil der Garbage Collection einen Background-Thread, der zeitgleich mit dem JavaScript-Code ausführenden Interpreter läuft. Der bisherige Garbage Collector namens GenGC verwendete dagegen einen einzelnen, mit dem Interpreter geteilten Thread.

Hermes on Android enthält in der neuen Version zudem die ECMAScript Internationalization API (ECMA-402 oder Intl), die standardmäßig aktiviert ist. Die neue API soll sprachsensible Funktionen erlauben und baut auf etablierten Internationalisierungs-APIs wie jenen der Internationalization Components for Unicode (ICU) Library in .NET oder der Java-Plattform. Neuerungen gibt es auch für Hermes on iOS, das sich nun mit der Software Mac Catalyst sowie mit Macs nutzen lässt, die mit Apples hauseigenem ARM-Prozessor M1 ausgestattetet sind – der inzwischen schon Intel Konkurrenz macht.

Weitere Informationen zu React Native 0.65 finden sich in einem Blogeintrag, alle Neuerungen in Hermes 0.8 zeigt der Changelog auf GitHub.

(mai)