Blog

Ready for NodeJS 8?

Mit dem April 2018 neigt sich die aktive Pflege von NodeJS 6 dem Ende entgegen — zumal Node 8 als neue LTS Version bereits seit Ende 2017 zur Verfügung steht:

Quelle: NodeJS Foundation

Seit Version 4.0 folgt Node.js Semantic Versioning. Das heißt insbesondere, dass Änderungen nur unter Zustimmung des Core Technical Committes und der LTS Working Group in Node.js implementiert werden. Dementsprechend gibt es einige Limitierungen für Änderungen in LTS-Versionen, die sich beschränken auf:

  • Bug-Fixes (einschließlich Patch-Updates von NPM)
  • Security-Updates
  • Nicht-semver-Major-npm-Updates
  • Performance-Verbesserungen, die ohne Breaking Changes sind
  • Umfangreiche Änderungen, bei denen Breaking Changes unwahrscheinlich sind, die aber künftige Änderungen signifikant erleichtern

Vor allem im professionellen Umfeld liegt der Fokus eher auf einer stabilen funktionierenden Long-Term-Support-Version. Genau die sollte darum die Chance nutzen, auf die aktuelle LTS-Version – ab sofort Node v8.x – zu upgraden. Mit Node v8 kommt die JavaScript-Engine V8 5.8, die für umfangreiche Performance-Verbesserung in Verbindung mit der Memory-Nutzung sorgen soll. Dazu zählen auch Support für neue JavaScript-Sprach-Features wie den Exponentiation Operator, neue Object Property Iterators, Support für async-Funktionen und weitere spannende Funktionen.

Neben der eigentlichen Engine ist aber auch der Paket-Manager NPM in Version 5 deutlich schneller und auch verlässlicher geworden. So ist z.B. das Festsetzen der Abhängigkeiten im kompletten Baum mit lock files möglich. Gerade Konkurrenz wie yarn hat dafür gesorgt, dass sich die Performance von NPM stark gesteigert hat:

Quelle: medium.com

 

Dabei zeigt sich, dass das Performance-Rennen wieder knapper ausfällt. Für Nutzer von NPM bedeutet das schnellere und zusammen mit den lock files stabilere Builds. Somit erhält man noch einen Grund mehr, auf NodeJS v8 umzustellen.

Über den Autor

Martin Reinhardt arbeitet als Architekt bei der Management- und IT-Unternehmensberatung Holisticon AG. Er beschäftigt sich dort mit der Architektur von komplexen verteilten Systemen, modernden Webarchitekturen und Build Management. Martin engagiert sich in der Software-Craftsmanship-Bewegung. Er ist seit mehreren Jahren im Bereich der Java- und Webentwicklung tätig. Außerdem setzt er sich neben der Architektur vor allem für die Testautomatisierung in verschiedenen Technologien ein und ist auch in verschieden OpenSource-Projekten zu dem Thema wie z.B. dem Galen Framework tätig.

Antwort hinterlassen