Software::Entwicklung
Hermes: JavaScript-Engine von Facebook
Facebook hat Hermes, eine JavaScript-Engine zur Ausführung von React Native auf Android, vorgestellt. Hermes optimiert die Ausführung von JavaScript-Code, indem es einen eigenen, kompakten Bytecode verwendet.
Facebook
React Native-App mit Hermes
Hermes ist eine freie JavaScript-Engine, die laut ihren Entwicklern dafür optimiert ist, Apps, die React Native verwenden, in Android laufen zu lassen. Hermes soll recht klein sein, so dass es APK-Pakete nicht wesentlich aufbläht, und die Startzeit von Apps reduzieren. Denn anders als andere JavaScript-Engines, die den JavaScript-Code zur Laufzeit in Bytecode übersetzen (Just-in-Time-Compiler), arbeitet Hermes mit Code, der bereits bei der Erstellung des Pakets compiliert wurde.
Um besonders kompakten Code zu erzeugen, verwendet Hermes einen eigenen Bytecode. Die Compilierung und Optimierung des Bytecodes geschieht auf dem Entwicklerrechner. Dieser kann mit Linux, Mac OS oder Windows laufen. Wie man Hermes in React Native (aktuell bei Version 0.60) einbindet, beschreibt Facebook auf der React Native-Webseite. Dies soll nach Angaben der Entwickler sehr einfach sein. Hermes implementiert JavaScript-Standards und sollte damit weitgehend mit anderen JavaScript-Engines kompatibel sein.
Hermes steht unter der freien MIT-Lizenz ist ist auf der GitHub-Seite des Projekts zu finden. Die erste offizielle Version 0.1 wurde diese Woche veröffentlicht. Das Hermes-Projekt umfasst neben dem Programm hermes selbst noch hdb, einen auf der Kommandozeile arbeitenden JavaScript-Debugger; hermes-repl, ein Programm, mit dem man JavaScript-Code interaktiv eingeben und ausführen kann; hbcdump, einen Hermes-Bytecode-Disassembler; hermesc, einen Hermes-Compiler als eigenständiges Programm, das JavaScript in Hermes-Bytecode compiliert; und hvm, eine Hermes-VM als eigenständiges Programm, das Hermes-Bytecode ausführen kann, aber keine Compiler-Funktionen enthält.