News / Technology / Top Stories /

Node.js v8 Gets Long-Term Support — Plus a Commitment from Google V8

31 Oct 2017 10:33am, by

JavaScript developers worldwide are getting a sweet treat this Hallowe’en: Node.js, the planet’s favorite open source JavaScript runtime, is moving version 8 to long-term service support (LTS) status. Simultaneously, The Node.js Foundation — the community-led and industry-backed consortium dedicated to sustaining and advancing the Node ecosystem, is introducing Node.js 9 for developers interested in testing and experimentation.

Node version 8 going LTS is big news in particular for large enterprise users interested in embracing v8’s significant performance improvements over v6, the previous LTS. Testing by nearForm, a Node-focused software development company, shows that v8 is up to 20 percent faster than its predecessor in typical web applications.

Node.js v8 was the biggest release yet, in terms of added features, as well as the most accessible. It offers features that have made writing in JavaScript more linear and less buggy — and thus easier and more stable for maintaining larger codebases. The update was also specifically designed to make Node.js more accessible to those looking to transfer from other languages.

“Those using Node.js in production can now reap the performance and feature benefits, now with the security and stability insured by long-term support status,” said Mark Hinkle, executive director of the Node.js Foundation. Hinkle noted that, currently, Node.js amasses nearly 9 million instances per day in use by tens of thousands of organizations in more than 200 countries. Support from the open source community includes 13 working groups, 21 members of the Technical Steering Committee, and more than 1,700 contributors to Node.js core itself.

v8 on the Chassis, V8 under the Hood

Node.js 8 is equipped with V8 JavaScript Engine 6.1, Google’s open source, high-performance JavaScript engine. Which means this version is now integrated with the Turbofan optimizing compiler and the Ignition interpreter — resulting in lower memory consumption and faster startup time across Node.js applications. Mixer, a live-streaming service provider, reports that in early testing their service saw a cut in web response time by 70 percent under LTS

The new Node also comes with some new and potent collaboration from the Google V8 team. Franzi Hinkelmann, an engineer on the team, announced last month at the 2017 Node.js Interactive Conference that Google now co-prioritizes Node.js along with Chromium — the open source project behind the Google Chrome browser and OS.

“Node is a first-class citizen in V8 now — no V8 commit can land if it breaks Node,” Hinkelmann told the audience in a keynote address. “This means added stability and earlier adaption of ESNext features for Node.js itself, as well as less strain on the (largely volunteer) Node.js maintainer community.

Together with Node.js’ Long-Term support (LTS) releases, V8’s commitment to long-term collaboration is crucial for many businesses when adopting Node.js in an enterprise setting.

More Tasty Treats in the v8 Goody Bag

Other sweet-as-candy-corn Node.js v8 features now under the umbrella of Long Term Support include:

  • HTTP/2, which is subject to future changes, allows developers to use the new protocol to speed application development. HTTP/2 allows JavaScript developers to undo many of HTTP/1.1 workarounds to make applications faster, simpler and more powerful.
  • Node.js API (N-API), a stable module API, though it is still under experimental status. It allows native modules to run against the newer version of Node.js without recompilation. This frees package maintainers from having to update these dependencies, creates more stability and opens up choice for those consuming modules. It also sets the foundation for VM neutrality and opening Node.js up to new environments in IoT, mobile and a variety of different systems.
  • Async / Await is fully supported in Node.js 8, which allows developers to write more linear code as opposed to callbacks, which appeals to JavaScript newcomers and those moving from languages like C# to Node.js. It also appeals to those maintaining large code bases.
  • Experimental ES Modules are a standard way of writing modular JavaScript code that can run on both the Web and in Node.js. In Node.js 8.x LTS, experimental ES Module implementation will allow developers to begin to experiment with the standardized module pattern in Node.js while the team works on first-class support.

Node.js has traditionally used the CommonJS pattern for module loading, which will continue to be the default behavior of Node.js in during the 8.x LTS.

Let Us Not Forget: Node.js v9

Odd-numbered release versions of Node.js, traditionally called the “current release line,” have in the past focused more on active development of new features and refinement of existing APIs. These releases have a shorter lifespan and more frequent updates to the code and, therefore, are not recommended for those using Node.js in production.

The bulk of changes in Node 9 involve the deprecation or removal of legacy APIs. In addition, Node.js core codebase is slowly migrating to a new error system, with a goal of associating a unique code with all errors thrown by Node.js. This will allow error messages to be changed without being considered “breaking.” It will also make user code more robust by not relying on error messages.

Contributors for this release of Node.js came from Alibaba, GoDaddy, Google, IBM, Intel, Joyent, Microsoft, nearForm, NodeSource and a stellar array of individual contributors. Node.js 10 is planned for April 2018 and will go under the Node.js LTS release status in October 2018.

Google and Microsoft are sponsors of The New Stack.

Feature illustration by Michelle Gienow.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.