In the lead-up to the stable release of Node.js version 1.0, Joyent—the main developer behind the open-source JavaScript implementation—is taking Node.js on a road trip.
At the “Node.js on the Road” event in New York City last night, Joyent developers and Node.js community members talked about the new features in the forthcoming 0.12 release, and shared experiences about implementing and running the platform. The night’s featured speaker, Node.js project lead T.J. Fontaine, laid out the biggest changes “Noders” can expect from version 0.12, including a stable C add-on layer, binary module identification, and dynamic tracing.
“0.12 will be released imminently, and then beyond that we’re using this roadshow to make sure we understand what features need to be going into the [1.0] release,” Fontaine told SD Times before the event. “The API we have is here, solid and will work for you in 1.0 and beyond. We’re going to add a stable add-on layer, a stable C API layer…to compile binary add-ons once without recompiling.”
Joyent CTO Bryan Cantrill at the Node.js on the Road event in New York City on April 24
During his presentation, Fontaine also talked about dynamic, user-defined tracing that comes with the Node.js JavaScript API, along with an asynchronous listener, a tracing interface, and V8 engine probes. He also mentioned identification features for particular binary modules in the Node.js community.
“We’re adding more features as far as identifying people who have binary modules out there in the ecosystem that are really popular,” Fontaine said. “If they fit the model for Node, we’ll bring them in so people don’t have to worry about compiling those extra dependencies. Something like FFI [foreign function interface] might end up in Node as a first-class feature for people who want to bind to native libraries with just JavaScript, and not have to write binary modules.”
(Related: JavaScript tops programming language survey)
Fontaine also made a point of stating that Node.js 0.12 is the first version where every platform is supported with all tests passing on Linux and Windows, and that Node.js escaped the Heartbleed bug due a recently revamped TLS/cryptographic scheme with consistent error handling.
On open-source, V8 and the future of Node
In the pre-event interview, Fontaine also spoke about Joyent’s unique symbiotic relationship with the Google V8 team in the release and update process.
“Node’s release schedule hasn’t been as timely, so it’s difficult to stay up with V8, which changes really fast,” Fontaine said. “They’re improving and getting some of those fixes back into the versions people have popularized. It’s not always possible to do, but they’ll backport fixes to the stable release of Node. So there’s some tension, mostly in the fact that we don’t want it released as fast as they release it.”
The rest of the event consisted of Node.js developers from a diverse group of New York-based companies telling their own Node.js stories. Web engineers from the “Pandora for fine art” startup Artsy, as well as software engineers from ADP Innovation Labs and Dow Jones, were among them. The impetus for Node.js on the Road, which has held five events across the country thus far (including last night’s), is a grassroots effort to find out what feedback and features the Node.js community is looking for in future versions. The company is also searching for active open-source contributors.
“People who have a feature they want added into Node, we’re reaching out to them to see if that feature makes sense for Node, and if they have the resources to devote that person to work on it,” Fontaine said. “Node is totally free to go out and operate as an open-source project, and to grow and flourish on its own speed. Joyent just happens to be shepherding it.”
Emcee and Joyent CTO Bryan Cantrill kicked off the evening by explaining what makes Node unique.
“With Node I saw a Java phenomenon,” he said. “By that I mean the technology is in exactly the right place at exactly right time. For kernel developers, I know it’s difficult to accept that you’ve fallen in love with JavaScript, the forbidden fruit of kernel development. Node is JavaScript with a rippin’ VM in V8 [Google’s JavaScript engine] and a Unix philosophy around it. It’s a bunch of small tools that do well-defined things, stitched together into complex systems.”
As for when we can expect Node.js 1.0, Fontaine gave his stock answer: “As soon as humanly possible.”