5 ms·
Politics and "what it may mean for the future" talks aside, are there any API / performance / engineering differences between io and node today? I mean, there's
by ffn 12y ago
Politics and "what it may mean for the future" talks aside, are there any API / performance / engineering differences between io and node today? I mean, there's a lot of talk regarding why joyent is bad or how joyent did nothing wrong, but from a js user's point of view, I'm rather more interested in the tangible non-human differences in node and io.
- franciscop 12y agoAs far as I know (I'm quite new in Node), io.js wants to join the ES6 pretty soon, and most of the developers have gone to io.js from Node.js. So, while there might not be a big enough difference right now, if they continue separated there will be soon enough.
- sigzero 12y agoDivergence is what we are worried about. I am hoping they come back together with the io implementation being the bleeding edge going back into node stable.
- iends 12y agoio.js isn't very bleeding edge though. That's just FUD.
- franciscop 12y agoNot so sure about that being the best way. I agree that it would be the best for not confusing short-term. However, there are also many problems with that approach, mainly that Node.js is not of the community, it is from Joyent. While this works great in some cases (Linux), there were apparently many problems with Node.js. I think the best would be: 1. Joyent giving the name to io.js so they can keep developing Node.js at a fast speed while keeping the name to avoid confusion. 2. As 1 is highly unlikely, IMO the best next thing is for io.js to gain market and popularity as fast as possible.
- malandrew 12y agoHuh? No, io.js is a fork of joyent/node by many original core contributors. io.js has more es6 support since it's based on a newer version of v8. Development on joyent/node slowed to a crawl and now the NodeFoundation is begging the io.js developers to return. If things remain separate, joyent/node will probably not progress much more and eventually everyone will view io.js as the "next" version of node.
- iends 12y agoNode.js current uses an unmaintained version of v8. io.js v8 is more up to date and they seem to have a better relationship with Google v8 team. If you look at the git history of the two projects, the Node.js project contributions have slowed down drastically, while many of the active developers have been contributing to io.js instead. This means more stability in terms of bug fixes and also more features
- weego 12y agoIs there any obvious reason why they are so behind on v8 versions? It feels like that would be pretty much in the top 2 things you need to do as a maintenance part of being in "control" of node.
- hendzen 12y agoThe V8 team's number one priority is Google Chrome. They don't really care much about supporting node, io.js, or any of the other projects that use V8. As such, APIs break/change often from release to release which makes it hard to keep up. This is made worse by the fact that old versions are completely unsupported. This isn't really the V8 team's fault - this is just what they are paid to do. And to be fair, V8 is frequently used outside of Chrome because it's the best JS engine around.
- pavlov 12y agoIn practice, Mozilla's Spidermonkey and WebKit's JavaScriptCore offer comparable performance to V8, and they tend to have less breaking changes. But V8 is definitely the engine that has the best marketing. Chrome 1.0 launched with that great comic by the legendary Scott McCloud [1], where several pages were spent on explaining JS engine performance -- something that most people had never thought about before... Ever since then, it seems like many assume V8 remains unique regardless of what's happened in the real world. [1] http://www.google.com/googlebooks/chrome/ http://www.google.com/googlebooks/chrome/
- apaprocki 12y ago
- Osiris 12y agoIn short, speed of development and the open governance structure seem to be the two key advantages of io.js. io.js is on a very fast release cycle using semver for versioning. The don't maintain the node.js concept of a "stable" and a "development" build (e.g., 0.10 and 0.11). Node.js developers want to use a "stable" release in production, and so were stuck on 0.10 for over two years. io.js is integrating the latest v8 and libuv releases, giving developers access to new ES6 features (and enabling stable ES6 features by default). Node.js developers as stuck on an old V8 with poor ES6 support, requiring transpilers like babel. io.js also now has significantly more core contributors than node.js. For what I understand, Joyent only had 1 dedicated node core developer for a long time.