In their words, io.js is "A spork of Node.js with an open governance model".<p>Hmm. Lets hope the spork gets spooned so that no projects get knifed. If not then I guess we have to hope for a knork so we don't get stuck with a couple of chopsticks.<p><i>Glossary</i><p>Forking : Creating a fork to intentionally diverge from main-line development.<p>Spooning : Merging a fork back into the main line of a project<p>Sporking : Creating a fork that you would really like to become the next main-line version but you kinda have to prove its awesome first (sporks are pretty awesome)<p>Knifing : Action killing a project, abandon hope :(<p>Knorking : A fork replaces the original project which dies off i.e. a fork knifes the original<p>Chopsticking : Two forks vie for popularity splitting the community and becoming lone chopsticks. Chopsticks need to work together to make stuff happen!
...Okay, normally I roll my eyes at people asking "What does this do" but Christ this is ridiculous.<p>From the FAQ:<p>> <i>What is io.js?</i><p>> io.js is a JavaScript platform that is compatable with Node.js & npm.<p>What does that even mean?<p>Edit: Thanks for those answering. I started figuring out what it was, but sometimes folks really need to learn that "A correct definition" is not the same as "a useful definition". However, if it's as cool as described, definitely might give it a shot.<p>Edit2: Is this expected to be as stable as Node.js consistently? And how solid is the upgrade path- is it going to be a pain upgrading between versions the way Node used to be, or is there a smoother upgrade process? I guess what I'm wondering is, do I get any benefit from using this right now, or would it be smart to still wait for whatever version they consider release quality?
(Huge) changelog from the latest stable Node version v0.10.35, including all changes from unstable v0.11: <a href="https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md" rel="nofollow">https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md</a><p>Also of interest, the state of ES6 in io.js: <a href="https://github.com/seegno/io.js/wiki/The-state-of-ES6-on-io.js" rel="nofollow">https://github.com/seegno/io.js/wiki/The-state-of-ES6-on-io....</a>. Highlights: 'let', generators, promises, template literals, symbols are all enabled by default. EDIT: just realized this wiki page has been updated and integrated into the website at <a href="https://iojs.org/es6.html" rel="nofollow">https://iojs.org/es6.html</a>
Tip to anyone rolling out a library and wanting others to start using it: It'd be helpful if the home page or the FAQ explained what io.js actually does and why a developer might want to explore it further. "Bringing ES6" is only helpful if you know what ES6 is and have already decided it's something you need. Likewise, the FAQ simply says io.js is compatible with Node.js and npm, but that doesn't give you much to work with. Can someone who knows the project explain the benefits?
I suspect there will be a split in the npm ecosystem now, not so much along node/iojs lines but along es5/es6 lines. There's already been lots of discussion about whether module builders should publish es6 code, or should everything be transpiled down to es5 code in order to keep the ecosystem unified (the unspoken caveat being, around es5).<p>I think es5 is a dinosaur as of today, so I say go ahead and publish es6 code, and if you want to be nice to es5 people then add a prepublish transpiler that makes something like this possible:<p><pre><code> // es6 people can do
var foo = require('foo');
// es5 people can do
var foo = require('foo/es5');</code></pre>
As someone who tries as hard as they can to avoid project politics and the like: is this the new Node.js? By which I mean I know it isn't the Node project, but where is most of the mindshare these days? Is io.js a small offshoot or has it taken most of the Node devs with it? Or is it the same code just with a more aggressive release schedule?<p>Also, when do we go back to one executable already?
Since there are features in Io that are neither in the current version nor planned for the future versions of Node, I guess Io.js should be explicitly specified as an engine in the package.json file of Io-specific modules. Tracking those modules will be a good metric of how well Io is received by the community.
I understand that Node was lagging behind on merging newer versions of V8, but holy hell: how did they have so many patches to the standard library that weren't properly released?
Node got forked because it got corped. When a corporation sinks their hooks into an active open source project, it's only a matter of time. Mysql, Maria, Hudson, Jenkins... same story. io.js is the way forward, and congrats to the core team.
Am I alone in being bemused and amused by this:<p><pre><code> Version 1.0.1 (Beta stability)
</code></pre>
Surely the main point of a 1.0 release is "stability" and to no longer be "beta"?
<p><pre><code> ls -l /usr/local/bin/node
lrwxr-xr-x 1 502 staff 4 Jan 13 20:10 /usr/local/bin/node -> iojs
</code></pre>
Is this necessary?
From what I can understand, io.js is now node with the latest version of v8 and ES6(+ES7) features enabled by default (as opposed to behind a flag).<p>I'm wondering, what technical reasons are there for Node not using the latest version of v8 for each release? I can understand Node keeping some new ES6/7 features behind a flag (just as some are behind a flag in Chrome).
Here's the most recent minutes (2014-12-19) for the Node.js Advisory Board where they discussed Io.js (while considering their 0.12 release).<p><a href="https://github.com/joyent/nodejs-advisory-board/blob/master/meetings/2014-12-19/minutes.md#node-012" rel="nofollow">https://github.com/joyent/nodejs-advisory-board/blob/master/...</a>
"This package will install io.js v1.0.0 and npm v2.1.18 into /usr/local/. The binary /usr/local/bin/iojs will also be symlinked as /usr/local/bin/node."<p>Why the symlinking as node?
In case you want to install it with `brew`
<a href="https://github.com/smockle/homebrew-iojs" rel="nofollow">https://github.com/smockle/homebrew-iojs</a>
Nodeup podcast 81 about io.js, with Mikeal Rogers, Isaac Schlueter and Chris Dickinson.<p><a href="http://nodeup.com/eightyone" rel="nofollow">http://nodeup.com/eightyone</a>
This is cool and I am excited. I have been playing with Node for a while but the pace towards stable was so glacial I couldn't take the software seriously.
From their changelog, it seems that addons changed, does anyone know if current npm packages will still be usable?<p>Also, good to see bnoorhuids in there.