Hoffnung für Node.js-Community: io.js 1.0 planmäßig veröffentlicht

Der Node.js-Fork io.js wurde in Version 1.0 veröffentlicht. Das ist aus verschiedenen Gründen eine gute Neuigkeit für Entwickler und die gesamte Node.js-Community.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Eine neue Hoffnung: io.js 1.0 planmäßig veröffentlicht
Lesezeit: 3 Min.
Von
  • Golo Roden

Die Entwickler des im Dezember 2014 angekündigten Node.js-Forks haben Wort darin gehalten, die erste Version von io.js am 13. Januar 2015 zu veröffentlichen. Denn seit der vergangenen Nacht stehen die Versionen 1.0.0 und 1.0.1 zum Download bereit. Sie basieren auf dem 0.12-Branch des Frameworks zum Entwickeln serverseitiger JavaScript-Programme.

Die fertige Version von Node.js 0.12 hingegen lässt weiterhin auf sich warten, entgegen der Ankündigung von Joyent vor knapp vier Wochen. Allmählich wird Node.js 0.12 damit zu einer "never-ending story", bei der das Vertrauen in den maßgeblichen Betreiber, Joyent, zunehmend schwindet. Dank des neuen Forks, der verspricht, zu Node.js und den Node Package Manager npm kompatibel zu sein, spielt das allerdings nun eine deutlich geringere Rolle.

Die Entwickler von io.js kennzeichnen die Versionen 1.0.x noch als "Beta Stability", zur finalen Ausgabe fehlt aber wohl nicht mehr viel. Es dürfte sich primär nur noch um einige wenige Fehlerkorrekturen handeln. io.js setzt damit, wie auch npm, auf das Konzept des Semantic Versioning. Das Vorgehen lässt bereits an der Versionsnummer erkennen, ob Änderungen kompatibel oder nicht kompatibel sind und ob es sich bei den Änderungen um neue beziehungsweise geänderte Features oder Fehlerbehebungen handelt.

Genauere Hinweise gibt das Changelog, das ausführlich auch die Unterschiede zwischen io.js 1.0.0 und Node.js 0.10.35 auflistet und diese erklärt. Neben zahlreichen Detailverbesserungen gibt es einige größere, teilweise lang erwartete Änderungen:

  • Das crypto-Modul beherrscht endlich das RSA-Verfahren zum asymmetrischen Ver- und Entschlüsseln von Nachrichten. Bislang ließ sich RSA nur für digitale Signaturen verwenden.
  • Das process-Modul löst nun vor dem Beenden des Prozesses ein beforeExit-Ereignis aus und ermöglicht auf diesem Weg das saubere Aufräumen von Ressourcen.
  • Das streams-Modul führt die streams3-API ein, deren Änderungen zwar nicht so drastisch ausfallen wie zwischen streams1 und streams2, aber dennoch einige Verbesserungen enthalten, beispielsweise hinsichtlich der Performance.
  • Das util-Modul kennt zahlreiche neue Funktionen für Typprüfungen. Außerdem steht mit der neuen debuglog-Funktion ein elegantes Hilfsmittel zur Ausgabe von Debug-Nachrichten zur Verfügung.

Darüber hinaus wurde die Unterstützung für ECMAScript 6 deutlich ausgebaut: War unter Node.js stets die Angabe des Kommandozeilenparameters --harmony erforderlich, aktiviert io.js zahlreiche Sprachmerkmale des nächsten ECMAScript-Standards serienmäßig: Dazu zählen unter anderem Generatorfunktionen, Promises, Symbole, Templates, Collections wie Map und Set sowie die Schlüsselwörter let und const.

Außerdem steht ein neuer Kommandozeilenparameter --es_staging zur Verfügung, der weitere Sprachmerkmale aktiviert, darunter Klassen und einige Erweiterungen für Objektliterale. Einen genauen Überblick liefert die io.js-Dokumentation zu ECMAScript 6.

Aufmerksamkeit verdient die in der Dokumentation erwähnte Ankündigung der Entwickler, regelmäßig neue Versionen der V8-JavaScript-Engine integrieren zu wollen, um neue Sprachmerkmale von ECMAScript 6 zeitnah in io.js bereitstellen zu können.

So ist nach einem Jahr des Stillstands also wieder Bewegung in die einst so rege Node-Community gekommen. Dank io.js besteht nun Hoffnung für ein Aufleben der Node.js-Entwicklung – mit oder ohne Joyent. (ane)