Digital Know How

Für ihren Fortschritt

Für alle, die io.js noch nicht kennen

Bis Ende 2013 verlief die Entwicklung von Node.js noch recht zügig. Leider stagnierte im darauf folgendem Jahr die Umsetzung neuer Features und das Beheben von Problemen.
Die Community war erzürnt, weshalb sich ein paar größere Unterstützer entschlossen einen eigenen Ableger des, von dem Unternehmen Joyent geförderten, Frameworks zu entwickeln.
So erblickte Ende 2014 io.js die Welt. Die Mitbegründer drückten ihrem Framework auch zeitnah die Version 1.0.0 auf.
Die Node.js Community spaltete sich, doch wurde vor kurzem erst ein riesiger Schritt gewagt, um beide Projekte wieder miteinander zu verbinden und an einer gemeinsamen Zukunft von Node.js zu arbeiten. Joyent zog sich zurück und die Projekte laufen nun zusammen unter Node.js Foundation. Das io.js Projekt bestätigte auch, dass die Quellen von io.js wieder in Node.js einfließen werden. Seit kurzem ist im Kopfbereich der Node.js-Webseite auch das Logo der Linux-Foundation (eine Plattform zur Zusammenarbeit an großen Projekten) sichtbar :)!

Seit dem offiziellen Zusammenschluss geht auch die Entwicklung von Node.js wieder merklich flotter voran. Mittlerweile ist die stabile Version 0.12.7 erschienen und es ist somit nur noch ein Katzensprung zur finalen 1.0.0 ;).

Doch genug von der Zukunftsmusik um Node.js.

Die Neuerungen in io.js 3.0

Vor wenigen Monaten erschien erst der letzte große Release von io.js mit der Version 2.0.
Der Release 3.0 beinhaltet zahlreiche Bug-Fixes und Verbesserungen, aber auch sogenannte “Breaking-Changes” zu Vorgänger Versionen.
Es folgt eine Liste mit wichtigen Änderungen.

  • V8 – Upgrade auf Version 4.4.63.26
  • Buffer.concat() – Wird nur ein Buffer-Objekt übergeben, gibt die Funktion nun eine Kopie, sprich ein neues Buffer-Objekt, zurück
  • socket.send() – Wird der send-Methode ein Error-Callback übergeben, wird nicht zusätzlich beim Auftreten eines Fehlers das Error-Event ausgeführt (socket.on(“error, function (err) {}))
  • smalloc – das Modul wurde entfernt!
  • http Statusnamen – liefert standardisierte IANA-Namen zurück, z.B. http.STATUS_CODES[414] –> gibt ‘URI Too Long’ zurück, anstatt wie vorher ‘Request-URI Too Large’
  • http Agent-Name – die getAgent()-Methode auf einem HTTP-Agent, liefert bei langen Rückgabewerten keinen fehlerhaft angefügten Doppelpunkt mehr zurück

Das vollständige Changelog kann im offiziellen Repository des Projekts eingesehen werden: Changelog io.js 3.0
Dabei sollte beachtet werden, dass bereits eine kleine Liste von bekannten Problemen mit dem Release existiert: Bekannte Probleme in 3.0

Die ewige Diskussiong zur Nutzung von io.js oder Node.js

Ein Unterstützter von io.js hat sich dazu gemeldet und hoffentlich ein Zeichen gesetzt, um die endlose Diskussion zu schlichten.
StrongLoop ist ein Unternehmen, welches Frameworks bereitstellt, um effiziente APIs mit Node.js zu realisieren. StrongLoop verweist darauf, dass mit der Verschmelzung der beiden Projekte io.js vor allem zum Experimentieren mit neueren Funktionen benutzt werden soll, da im Laufe derzeit die Features auch in Node.js verfügbar sein werden. Bestehende Node.js Projekte sollten die stabile Version 0.10.x nutzen, wobei neue Projekte beruhigt auf die neusten stabilen Versionen zurückgreifen können. Derzeit sind das die Versionen 0.12.x.

Der vollständige Artikel auf englisch kann im StrongLoop-Blog gefunden werden.

 

io.js-Logo (Quelle: iojs.org)

io.js-Logo (Quelle: iojs.org)

Wir freuen uns über eine Bewertung, um ein Feedback zu erhalten:

Durchschnittlich 3 Sterne aus 4 Meinungen.