
We’re excited to hear your project.
Let’s collaborate!
Have no fear... Node.js 10 is here (since April 24, actually)! And, as expected, this version is planned to grow into the platform's official Long Term Support version (in October 2018); to be supported for 3 years after that date.
So? What's in it for you, the back-end web developer?
Are there any new features and improvements worth getting really excited about? Which are they and how precisely will they improve the overall developer experience.
Now before we take a deep dive into the “steamy fresh load” of new features, I feel like pointing out that:
But let's name these improvements that ship with the new version of Node.js. Let's talk specific incremental changes, shall we?
10 of the “really worth getting excited about” ones:
And error messages/error-handling improvements do make the majority of semver-major commits (approx. 300) that Node.js ships with.
It's a “pledge” made since Node.js 8.0.0 to assign static error codes to all Error objects:
“Error messages should be useful, more consistent and predictable”, this has been the “pledge” driving all the sustained efforts geared at improving error-handling.
Note: error codes have been included in Node.js 10, making constant error-checking conveniently easier!
There's an entire list of Node.js 10 language improvements (you can find them all here) worth exploring and... exploiting, I'll outline the highlights only:
And here are the most “dramatic” improvements made during this overhaul:
Speaking of this new API, its “role” is that of generating a warning at runtime, the very first time that it gets used. Hopefully, things will turn out “bugs-free” so that it can grow from experimental to stable.
N-API — the ABI stable (Node.js) API for native modules — has leveled up to a stable version in Node.js 10.
What does this mean?
In short: say goodbye to module breakage!
All efforts targetting the assert module have been aimed at easing the internal implementation and improving the developer experience.
But let me point out some of these improvements that eventually fleshed out and landed in Node.js 10:
Get ready to “exploit” V8 6.6's range of performance improvements to their full potential! Along with its new set of JavaScript language features!
From them all, I can't but mention:
Node.js 10 is the first version of the platform to include OpenSSL 1.x! And this can only translate into:
Enhanced protection for your priceless data!
Now, if I am to outline just 2 of the OpenSSL features to look forward tapping into, I should definitely mention:
That's right! Keeping a close eye on how your code's performing and being able to quickly diagnose any emerging issues is easier than ever with Node.js 10!
Basically, what these trace events do is enabling that all the diagnostic information output gets collected to a file accessible to the Chrome browsers DevTools utility.
No need to use a command-line flag anymore to trigger this whole trace events mechanism underlying Node.js.
And since we're here, let me point out to you 2 trace events-related improvements worth getting (really) excited about:
const trace_events = require('trace_events') const tracing = trace_events.createTracing({ categories: ['node.async_hooks', 'v8'] }) tracing.enable() // do stuff tracing.disable()
Another thing to get excited about, when it comes to Node.js 10's release, is given by all the incremental improvements made to HTTP and HTTP/2.
Let me detail a bit:
And how does this impact the developer experience? Your experience?
… gets a whole lot easier for you. You're practically enabled to detect errors way before they even get to “infest” your code.
The END! This is how our list of 10 Node.js 10 features worth getting (really) excited about looks like! Do explore them and start your preparations for moving over to this new version of Node.js before October!
We’re excited to hear your project.
Let’s collaborate!