Will Atom use node.js or io.js now Node has been forked?



I just saw that many node.js core developers forked Node to build io.js.

io.js IS actually the same code as node.js, but should be developed faster (meaning better performance with new V8 version ect ?), will Atom use node.js or io.js in the future ?


Isn’t this a bit premature to talk about?


Yes it is. But it should be considered in the future in my opinion.

Node and Io will differ soon and fastly. Not a real problem if Atom stays for a while with the current Node version. I’m just seeing that a lot of people are disappointed of Atom due to its performances, a newer Node core “might” help.

This is not a judgement, but just a discussion to be considered :slight_smile:


The assumption you’re making is that the difference will be obviously beneficial in Atom’s use case. It could just as well be a huge tradeoff of performance vs. stability or something else that would make the choice hard. It’s also just as much a possibility that the iojs project could go nowhere useful or nowhere useful for Atom, so I think a “wait and see” approach is prudent at this point.


And regarding the performances, I doubt that just changing the underlying engine will do much.
What’s penalizing Atom currently seems to be more the webkit part than v8 (hence the numerous changes in the views), and for startup time I don’t see how IO.js could do massive improvements that goes beyond what is already provided by atom (module caching).
And, except for the “Joyent is too slow following v8” and “Joyent is too slow merging PR”, I haven’t seen much explanations about what IO.js try to fix in node (but maybe I just didn’t found the info).


I’m afraid of that too

If I did not misunderstood, Io will try to remove non-js code from Node (to get a full vanilla js Node)

And I totally agree with both of you on everything, I was just pointing this for when Atom will have to make a choice.


I would think going full vanilla js would make IO.js slower. Isn’t the non-js code there explicitly for performance?


As far as I understand io.js is attempting to fix many of the perceived governance problems in node.js that have gone on long enough to cause things such as a glacial release schedule, frustrating lack of communication from joyent with core devs, and more serious technical problems, such as depending on an ancient (i.e., unsupported) version of v8.

One of the primary goals of the fork is to remain compatible with the API, and with npm. There are no plans I’m aware of to move more code to js, none whatsoever.

There is plenty of information available, including recordings of meetings indicating the specific goals of the project.


I have read everything in the node forum for 3 or 4 years. I got to know the names of all the major contributors. I was surprised at the names that are committing to the fork. Forks are usually failures in my experience but this may be an exception.


It seems that Atom switched to io.js in latest release.


Confirmation here :wink:


Did they switch back and why?
from the source code i see mention of node 0.12
but i can’t seem to figure out where i can check which version the official .deb installs on my linux machine.

especially io release 2.2.0 could benefit one of the main atom problems, startup time


No, they did not.

  1. Open the Developer Tools
  2. Switch to the Console tab
  3. Enter the text “process.versions” and press Enter

You’ll see which version of Node/IO.js is being used. In my case it is v1.5.1, which is an IO.js version number.