Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between node.js and io.js?

People also ask

What is IO node JS?

Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine Node.js uses an event-driven, asynchronous non-blocking I/O model Node.js operates on a single thread event loop.

What is the difference between node JS and js?

js: Type. Javascript is a popular programming language and it runs in any web browser with a good web browser. On the other hand, Node. js is an interpreter and environment for the JavaScript with some specific useful libraries which JS programming can be used separately.

Why is Node JS good for IO?

In its most basic form Node. js is best suited for this type of computing. All I/O in Node. js is non-blocking and it allows other requests to be served while waiting for a particular read or write to complete.

What happened to IO js?

Today, the Linux Foundation has announced that Node. js and io. js will officially merge codebases under a new entity: the 'Node Foundation.


io.js is a fork of Joyent's Node.js

What are the differences?

io.js:

  • Node-forward is basically being merged into io.js
  • forked on the basis of community-driven development and active release cycles
  • includes many of the original Node.js developers
  • has the future goal of "merging back with Node.js"

This repository began as a GitHub fork of joyent/node where contributions, releases, and contributorship are under an open governance model.

We intend to land, with increasing regularity, releases which are compatible with the npm ecosystem that has been built to date for node.js.

Node.js:

  • the original software
  • has slowed down development in recent time
  • sponsored by Joyent
  • Joyent owns the trademark Node.js

Why did they split?

It was primarily split for three reasons: faster, more active releases and development towards a 1.0.0 release, for a more community-driven development rather than the Advisory Board, and the use of semver for releases.

What is the advisory board?

The Advisory Board was Joyent's plan to bring Node.js a more centralized, faster way to plan development and plan future features along the road towards a 1.0.0 release. This was planned to be done by putting together a board of larger companies that use Node.js

Quote from Joyent's blog:

As the community becomes more complex, it is important that we find ways to balance the needs of all constituents and provide a platform for these organizations to come together and to provide input into the project.

Why is the advisory board hated?

Previously, Node.js was run via mailing lists, GitHub issues, and anyone could contribute their idea. This idea started getting some hate because it brought control away from your average, everyday contributor and moved the power to the "big shots": companies such as Walmart, Yahoo, IBM, Microsoft, Joyent, Netflix, and PayPal.

Outside sources on this

  • https://github.com/iojs/io.js/issues/3
  • http://www.infoworld.com/article/2855057/application-development/why-iojs-decided-to-fork-nodejs.html
  • http://www.wired.com/2014/12/io-js/

In fact, there are practical differences between Node.js and io.js. Some facts forgotten by other answers:

  • Currently, io.js is, in multiple aspects, a bit faster than Node.js. A performance benchmark can be found here.
  • io.js's ECMAScript 6 support is much broader than Node.js. Comparison can be found here.

Why? Because io.js 1.6.2 ships with Google V8 4.1.0.25, and Node.js 0.12.1 ships with V8 3.28.73. Also, flags for ECMAScript 6 are different between Node.js and io.js. io.js's guide to ECMAScript 6 flags can be found here.


TL;DR io.js is the future incarnation of node.js.

The io.js website says: "io.js is a node & npm compatible javascript platform." It's a set of tools (a runtime/VM, a package manager, etc.) which is compatible with what currently exists as node. Any differences will presumably be in the underlying implementation, and any extensions that io.js adds beyond the node.js feature set.

(Why would something compatible with what already exists divide the community? Why's that a bad thing?)

Note that io.js hasn't even been released yet! However the io.js roadmap illustrates some particularly relevant differences between node and io.

  • "Node is pretty damn stable already" and yet Node still hasn't hit 1.0; it's currently at 0.10.33.
  • "The entire ecosystem uses semver while node uses a confusing even/odd release structure." By introducing a new name for a new(ish) project, they'll be able to fix that.

So as I understand it, io.js is the 1.0-alpha1 and future release of node, but with:

  • different (sane) release versioning
  • deliberately frequent releases
  • governance by a technical committee

io.js was a fork of node.js. But now io.js and node.js again collaborate. So that's why node.js directly jump from 0.12.x directly to 4.0.0 as node.js version 4.0.0 includes all the major updates from io.js version 3.0.0