Cross-Plattform: React Native erhebt JavaScript-Engine Hermes zum Standard
Das Release aktiviert Hermes erstmals standardmäßig und bringt eine einheitliche Codegen-Konfiguration für Android und iOS.
React Native hat Version 0.70 erreicht. Das Framework aus dem Hause Meta zur Cross-Plattform-Entwicklung arbeitet an der JavaScript-Engine Hermes sowie dem CMake-Support und treibt den Wechsel zur neuen Architektur weiter voran. Zu den Breaking Changes zählt das Entfernen der zuvor als deprecated (veraltet) markierten Datei jest/preprocessor aus dem npm-Paket react-native.
Hermes als Standard-Engine
Meta hat die quelloffene JavaScript-Engine Hermes einst dediziert für React Native entwickelt, um React-Native-Anwendungen zu beschleunigen, sie jedoch nicht als Standard eingesetzt. Das ändert sich nun mit Version 0.70: Aus der Zusammenarbeit der Entwicklungsteams von Hermes und React Native resultierend, erhebt das Framework die JavaScript-Engine zum Standard. Bereits seit der letzten Version hat React Native das jeweils passende Hermes-Release an Bord, da es zuvor zu Verwirrung kommen konnte, welches das richtige sei.
In einem Blogeintrag lässt sich der Weg zum neuen Standard nachvollziehen, den das React-Native-Team bereits im letzten Jahr begann.
Codegen-Vereinheitlichung und CMake-Support
Das neue Release bringt die Option, Android/Native Builds mit dem Build-Werkzeug CMake zu konfigurieren. Statt einer Android.mk-Datei können Entwicklerinnen und Entwickler nun eine CMakeLists.txt-Datei nutzen. Zu den Vorteilen soll zählen, dass eine in der App erstellte CMake-Datei deutlich kleiner als eine Android.mk-Datei ist, was ein Update zwischen React-Native-Versionen erleichtern soll und weniger Codeverwaltung bedeutet. Auch generiert das Codeerstellungs-Tool Codegen nun sowohl Android.mk als auch CMakeLists.txt.
Codegen ist ein optionales Tool, das Entwicklerinnen und Entwicklern Zeit sparen soll, indem es sich wiederholenden Code automatisch erstellt. React Native 0.70 vereinheitlicht die Codegen-Konfiguration für iOS und Android. Bislang musste die Android-Konfiguration in einer separaten build.gradle-Datei unterkommen. Nun lässt sie sich direkt in package.json definieren:
"codegenConfig": {
"name": "CustomAnimationView",
"type": "components",
"jsSrcsDir": "./src",
"android": {
"javaPackageName": "com.custom.animation"
}
}
Diese Neuerung soll eine vereinheitlichte Entwicklungserfahrung fĂĽr Library Maintainer bieten, wenn sie ihre Codebasen zur Anfang des Jahres gestarteten neuen Architektur migrieren. Wer ĂĽber diese Umstellung auf dem Laufenden bleiben will, kann der Diskussion in der React Native New Architecture Working Group folgen. Auch hat das React-Native-Team die Dokumentation zur neuen Architektur erweitert.
Alle weiteren Infos zum neuen Release finden Interessierte im React-Native-Blog sowie im Changelog.
(mai)