Microsoft bringt Node-ChakraCore auf macOS

Neues zu Node-ChakraCore und VM-Neutralität bei Node.js
Keine Kommentare

Bereits im Juli hatte Microsoft angekündigt, Node.js mit ChakraCore – genannt Node-ChakraCore – auch auf Linux- und macOS-Betriebssysteme zu bringen. Während der Support für Linux schon länger experimentell zur Verfügung stand, kommt Node-ChakraCore nun auch für macOS. Damit setzt sich Microsoft auch weiter für VM-Neutralität bei Node.js ein.

Seit dem Launch von Node.js hilft die JavaScript-Runtime-Plattform beim Erstellen sowohl von server- als auch clientseitigen Applikationen mit JavaScript. Besonders in letzter Zeit freut sich die hinter Node.js stehende Node.js Foundation über eine zunehmende Verbreitung, die allerdings – zum Missfallen einiger Entwickler – mit einer immer größeren Abhängigkeit von Googles JavaScript-Engine V8 einhergeht.

Um Node.js auch mit der eigenen JS-Engine Chakra nutzen zu können, hat Microsoft Node-ChakraCore entwickelt und im Sommer auch dessen Support für Betriebssysteme außerhalb von Windows angekündigt. Damit, so erklärt Chakras Senior Program Manager Arunesh Chandra in einem Blogpost im Microsoft-Edge-Blog, will man Entwicklern eine Alternative zur Nutzung von Node.js mit der V8-Engine zur Verfügung stellen und gleichzeitig die Weiterentwicklung des Node.js-Ökosystems vorantreiben. Außerdem soll damit eine „VM-Neutralität“ von Node.js begünstigt werden – ein Thema, das dieses Jahr bereits mehrfach in der Community diskutiert wurde, etwa auf GitHub.

Was bringt eine VM-Neutralität von Node.js?

Node.js wird immer beliebter und immer mehr Entwickler versuchen, die JavaScript-Runtime-Plattform auf andere Virtual Machines zu portieren. VM-Neutralität sieht, so sagt Chandra im oben genannten Blogpost, Node.js als ein allgegenwärtiges Applikations-Framework, das für jede Plattform, jedes Devices oder jede Workload hochoptimiert ist. Außerdem beschreibt VM-Neutralität einen Node.js-Zustand, in dem Node Core sich neutral gegenüber jeder JavaScript-Engine verhält, die Node Core über offene Standards und APIs betreibt.

VM-Neutralität bietet laut Chandra daher viele Vorteile. So sorgt sie für eine höhere Verbreitung von Node.js, sorgt für eine größere Produktivität bei Entwicklern und standardisiert die Multi-VM-Anstrengungen von bestehenden Node.js-Forks.

Um Entwicklern mehr Möglichkeiten zur Nutzung von Node.js mit unterschiedlichen VM zu bieten, gibt es einige Projekte – etwa das Node.js API (NAPI). Dabei handelt es sich um ein Community-Projekt, das die Verfügbarkeit von stabilen Node APIs für native Module-Entwickler zum Ziel hat. Dazu sagt Chandra:

NAPI aims to provide ABI compatibility guarantees across different Node versions and also across different Node VMs – allowing NAPI enabled native modules to just work across different versions and flavors of Node.js without recompilations.

Sobald NAPI offiziell für native Module verfügbar ist, kann es im Node-Core genutzt werden und ermöglicht nahtlosen Support von Node.js für mehrere JavaScript-Engines.

Node-ChakraCore für macOS

Auch Node-ChakraCore zählt zu den Projekten, mit denen die VM-Neutralität von Node.js vorangetrieben werden soll. Im Juli stellte Microsoft bereits eine experimentelle Implementierung für x64 Linux vor, nun zieht man mit dem Support von macOS nach und erweitert so den von vielen Entwicklern gewünschten Cross-Plattform-Support. Grundsätzlich will Microsoft mit Node-ChakraCore dafür sorgen, dass Node-Applikationen auf allen Windows-Devices – darunter auch der HoloLens und IoT-Devices – laufen. Die Unterstützung weiterer Betriebssysteme erlaubt es Entwicklern darüber hinaus, so sagt Thomas Claburn in einem Artikel zum Thema, innerhalb dieser Betriebssysteme Node.js-Apps mit Microsoft-Technologie zu entwickeln.

Ebenfalls neu ist Time-Travel-Debugging – ein neues Feature, das es Entwicklern ermöglicht, Aufzeichnungen laufender Node-Prozesse einzufangen und die Code-Ausführung in VSCode per „Step-Back“-Funktionalität zu visualisieren. Diese Funktionalität erlaubt es Entwicklern nicht nur, den Code-Execution-Pfad leichter nachzuvollziehen, sondern bietet ihnen auch eine genauere Inspektion des Runtime-Contexts. Aktuell steht das Time-Travel-Debugging in VSCode als Beta zum Testen zur Verfügung.

Mehr Informationen rund um die aktuellen Arbeiten rund um Node-ChakraCore und VM-Neutralität bietet der oben genannte Blogpost von Arunesh Chandra.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -