io.js 的发布对Noder有什么影响?

jopen 10年前

原文  http://blog.rednode.cn/io-js-de-fa-bu-dui-noderyou-shi-yao-ying-xiang/

io.js 按照预定计划, 在 2015.1.13 号发布了1.0 alpha 版. 该版本具有什么特点? 稳定版多久后回发布? Node.js 和 io.js 之间如何选择 ?

io.js 的发布对Noder有什么影响?

io.js 1.0 特性

首先 io.js 使用了最新版的 V8 引擎, 这样 ES6 众多新语法就可以使用, 并且不需要开启 --harmony flag. 关于详情可参看 这里 . 虽然 io.js 只实现了 ES6 特性的 50% 左右. 但这绝对能对 node 开发产生翻天覆地的变化. 如 Generator + Promise 的组合可以让我们摆脱callback hell.至于其他 ES6 特性可以通过一些 polyfill 或 shim 实现, 目前已经有很多如 6to5 .

除了引擎更新带来的语言特性支持外, io.js 添加了不少 API 如execSync, 并且添加了两个全新的内置模块 v8,smalloc. strongloop 作为 0.12 的最大贡献公司, 也详细总结了 0.12 新特性 , 关于 node.js 的完整changelog, 可到 官方页面 查看

另外据说新版本代码执行速度有不小提升, 具体提升多少, 应该会有机构或开发者进行测试和比较.

risingstack 写了一篇 iojs overview , strongloop 也对 iojs 进行了 介绍 , 并宣布支持 iojs

注: node 0.12 对应 io.js 1.0

带来的问题

  1. 是使用 node.js 还是 io.js? -- 求稳使用node, 尝鲜使用iojs
  2. io.js 是否够稳定, 能够在生产环境使用? -- 目前还是beta版本,还有不少问题, 不过应该很快会稳定, 但iojs会保持一个很快的开发速度, 这会降低其稳定性
  3. nvm, n 等版本管理工具到时是否会支持 io.js ? -- 目前nvm在添加对iojs支持, 应该很快就会放出
  4. forever, pm2 等工具需要如何更兼容两者?
  5. io.js, node 模块互相可能会不兼容, 是在package.json 添加说明还是如何? -- 有人提出在github 上提了 issue
  6. 许多二进制模块是否在io.js上能够使用?
  7. node 0.12 何时发布, 其开发速度是否会加快 ? -- who know
  8. 至于将来 node 和 iojs 会如何发展, 是否最终会合并, 现在还不得而知.

久违的好消息

不管怎样, 这对于 Noder 们来说都是久违的大好消息, 不仅可以大胆使用ES6, 还有许多新API, 还有提升的性能. 相信沉寂许久的 Node land 会再热闹起来. 对于希望尝鲜的我来说, 当然是 io.js 走起, koa 走起, 跟回调说拜拜 哈哈.