精华 Node.js 的 1.0 时代
发布于 9 年前 作者 Pana 4966 次浏览 最后一次编辑是 8 年前 来自 分享

9月8号 Node.js 4.0 轰然发布, 标志着 Node land 从此进入全新的时代. Node.js 4.0 是 Node 和 io.js 合并后的第一个正式版本, 也是 Node 基金会成立的后第一个正式版本, 可以说它其实是正真意义上的 1.0

关于 4.0

虽然 Node 诞生之后经历了快速的发展期, 但却在 14 年经历了 1.0 难产危机, 及由之引发的 fork 危机. 而这场危机的根源则是 Joyent 对项目控制过紧, 且懈于开发的错误管理方式导致. 在看到 io.js 快速发展, 深得社区拥护之后, Joyent 先是成立咨询委员会, 后又成立 Node.js 基金会 希望借鉴 Linux 基金会成熟的管理模式和经验促进 Node 继续发展. 经过协商后决定合并两个项目, 合并工作从 5 月中旬开始, 使用 iojs 的 codebase, 并迁移至新的项目地址.

虽然合并前 Node 的版本号为 0.12, 但 io.js 的版本已升至 2.0 以上. 由于 Node 项目采用 SemVer 的版本号管理规则, 而合并过程中 io.js 又占用了 3.0, 为了避免版本冲突 所以合并后的最终版本直接升至 4.0

Node 4.0 的 v8 版本紧跟 chrome 升至了 v4.5, 所带来的巨大好处即是, 原生支持包括 Generator, Promise, Arrow function在内的 众多ES6新特性. 但也因为 v8 API 变化导致众多 c++ addon 无法编译带来巨大的兼容问题, 因为这需要每个模块各自升级 NAN, 所以需要一定的时间. 幸好在代码合并的 io.js 3.0 期间, 为众多模块作者提供不少的升级准备时间, 因此已有不少模块兼容 4.0

Node.js 4.0 保持了 Linux, OSX, Windows 的全平台支持, 并新添加了包括ARMv6, ARMv7, 64-bit ARMv8在内的 ARM 平台. 因此开发者可以愉快的在 ARM server 以及物联网领域采用 Node

关于 iojs 3.x 到 4.0, 以及 0.12.x 到 4.0 的 changelog 参看文档

更加规范的管理和开发方式

Node 基金会由包括 Paypal, Microsoft, IBM 等在内的十多家公司赞助, 现在委员会由 15 名成员组成, 项目由 44 开发者参与开发和维护, 以及上百的社区人员参与. NPM 包管理平台模块数量超过 18W 为第一大包管理平台. 项目的管理运作均参照 Linux 项目.

伴随着 4.0 的发布, Node 的详细 LTS 及开发计划也付出水面. 预计从 10 月份开始, 每个 LTS 将会保证长达 18 个月的稳定, 安全更新, 以及之后 12 个月的重大 bug 修复. 4.0 作为第一个 LTS 版本, 将不再引入重大 break.

在 LTS 的同时会每6个月(每年的4,10月)升级一个大的版本(从 5.0 开始), 这些版本会持续引进新的特性和变化, 并同步最新的 v8 以引入最新的JS特性, 并保证一到两周一个小版本. 每年10月的版本会成为新的 LTS 进入长达 30 个月的维护期.

{<1>}

新时代

统一的代码意味着 Node 用户可不必花费时间精力用于选择, 兼容, 切换. 也意味着 Node 的开发者更加团结, 所有人共同推进一个项目向前. Node 基金会的成立则意味着项目的管理从无序, 混乱变的更加规范, 有效. 就相当于Node从小作坊变成了规范化运作的公司.

而 LTS 的落地则为 Node 企业化大规模应用扫除了最后的障碍. 持续引入新特性和新引擎的做法又能保证开发者的兴趣. 对ARM全平台的支持则会让Node在物联网领域不断开花.

这是 Node.js 全新的时代.

原文链接

6 回复

感觉过了3.0就是成熟的版本。。

@Pana 亲,这文章不错,可以转载么?发到公众号【node全栈】里

@i5ting 可以, 开放转载

回到顶部