Node.js 2014这一年发生了什么

2015-11-12 admin

Node.js 的 2014 年充满了不幸和争议. 这一年 Noder 们经历了太多的伤心事, 经历了漫长的等待, 经历了沉重的分裂之痛. 也许 Noder 们不想回忆14年 Node.js land 发生的事情, 但正因为痛才更有铭记的价值.

2013.12.04 Ben 离开 Node 项目

自从 Node 鼻祖 RY 退出项目的开发, 管理之后, Ben Noordhuis 在两年多的时间里一直不断为 node 项目提交代码, 解决问题, 提升速度. 成为了 Node 和 libuv 两个项目的最大代码贡献者. 但却因为一件意想不到的人称代词风波, Ben 不得不离开 Node 世界. 这个事件犹如一枚核弹一样在 Node 圈中激起了轩然大波, 有人惋惜 Ben 的离开, 有人指责 Ben 对女程序员不尊重. 诚然这次事件折射出男女问题在程序员世界的敏感性. 但背后却是 Node 这个炙手可热项目控制权的争夺. 01.15 Isaacs 交接 Node 掌门人身份

Isaacs 是 RY 之后 Node 的第二任掌门, 同时也是包管理工具 NPM 的作者. 在这段时间里 Isaacs 的工作重心是 Node 的开发和维护, NPM 则由 Nodejitsu 运营. Node 因其众多的优秀特点, 得到众多开发者和公司的采用和支持, 期间 NPM 的包数量和下载量也呈现了爆发性的增长, 甚至导致包安装速度巨慢, 服务多次宕机, 因此 Nodejitsu 举办了 scalenpm 活动筹集 NPM 扩容和维护资金, 并在很短时间内达成 30W$目标.

Isaacs 看到了 NPM 未来的发展空间和机会, 因此将项目掌门人身份移交给TJ Fontaine, 并把 NPM 的运营权从 Nodejitsu 收回, 成立了 npm, Inc 公司, 并获得了几百万的启动资金. 专注 NPM 服务的运行, 维护, 开发工作, 并进行商业化探索. 这之后 Nodejitsu, strongloop, cnpm等相继搭建了自己的 NPM registry服务. 03.03 Node.js arrives for the JVM

14年有一个说法: JavaScript everywhere, and everything ported to JavaScript. Nodyn 是让这种说法得以信服的项目之一. 它可以让 Node.js APP 在 JVM 之上运行的项目. 并且在 Oracle 举办的 Java 2014 大会上, 有一个专门的议题是讨论 JS 的 04.05 Microsoft Publishes Node.js Tools for Visual Studio

Node 项目最初只能在 linux 和 osx 平台运行, 但随着项目越来越多的被使用, RY 对 windows 平台的重视, 后来 Node 终于来到了 win 的世界, 实现了三大平台兼容. 微软对 Node 也非常重视, 并有全职员工进行 win 版 node 的开发, 支持, 维护. 之后在其云平台 Azure 中添加 Node 环境支持. 同时还进行了 Node.js Tools for Visual Studio 开发, 在四月份实现了Beta, 12月份实现了RC. NTVS 将众多 VS 优秀特点(语法提示, 包管理, 断点调试)带到了 node 的(win)开发世界中.

说道开发工具: Webstorm 和 Sublime 也是 Node 开发的两个利器. 05.27 NodeSource 加入 Node 创业公司行列

随着 Node 的发展, 越来越多的开发者, 公司开始使用 Node, 并涌现了许多 Node 方向的创业公司. Nodesource 是一家以 Node.js 为切入点的软件创业公司, 提供企业级的产品, 服务, 培训, 咨询等. 除此之外还有许多专注于 Node 的创业公司:

Strongloop
Nodejitsu
modulus
risingstack
nearform
npm, Inc
yld
nodefirm
nodecompany
nodeprogram

06.11 Node.js 授权协议调整

TJ Fontaine 接管 Node 之后, 对项目未来的发展有自己很好的规划, 想要从网站, 文档, add-on抽象层等方向着手推动项目发展, 并在全球各大城市举办 Node.js on the road 活动以分享, 交流, 收集 node 的使用心得, 问题. 后又决定修改 Node 的贡献授权协议, 希望大大简化代码贡献流程, 促进项目活跃发展. 但此举并未提高开发者对项目的代码贡献激情和速度. 反而因为各地举办交流活动, 及其他原因使得早已开发完成, 大家翘首等待的 0.12 迟迟不能发布. 后又因为 node fork 事件忙于筹办咨询委员会事宜无暇顾及代码开发, 至今(12.19)都没发布0.12 . 在这一年的时间中 TJF 唯一一件值得肯定的事情可能就是项目官方网站的全新改版吧.

注: Node 版本的发布规则为偶数为稳定版, 奇数为开发版, 0.12 本应该在 0.10 发布的一年后(2014年初)发布, 按照规划 0.12 是 1.0 发布前最后一个版本, 并添加了多个特性. 0.12代码开发工作其实在2013年底已经完成 07.03 TJ 宣布离开 Node 转投 Go

如果你不知道 TJ 是谁, 那你肯定不是 Noder, 也算不上资深 JS 开发者. TJ 是 Node 界 NO1 的大神级人物: 90 后, 高产且高质量开发者, 众多 Node 知名模块作者(Express, ejs, commander, connect, mocha, co, koa, git-extras), 其随便一个项目在 github 上 star 数量成百上千,github follower数量上万,且排名在前十(前十中有三位为github创始人, 还有linux的作者),其一天可以完成普通人一周的工作,并且在twitter和github上回复各种问题.以至于让人认为他不是一个真实的人,而是一个包含多个开发者的组织. 很少参加开发者大会, 几乎不看编程书籍,而是通过直接看代码学习. 除 Node 之外 TJ 还是许多其他语言(C,java,go…)的高手. 除此之外他喜欢杀马特风格, 是一个摄影爱好者

可是 TJ 大神选择离开 Node, 而投入 Go 的世界. 因为 Node 一些语言的缺点: 异步代码维护困难, 不适合大型项目, 异常处理很弱, 因为 node 版本发布很慢, 因为他现在开发的东西使用Go更合适, 因为他在node的世界里已经很巅峰,想要尝试新的东西.

TJ 将他大部分的项目都交给了其他人维护, 其中 Express 被有偿转给了 Strongloop (项目移交后Express的其他主要开发者则致力于http基础库的开发jshttp). 目前只在维护koa, 一个在0.12之后将会大放异彩的项目.

TJ生活在加拿大, 目前就职于 segment.com 10.23 Node.js 咨询委员会成立

自从 Ben 事件之后, 一直有声音建议将 Node 项目移交给开源软件组织, 以一种更加开放的方式管理. 后来因为0.12的一拖再拖, 及其他问题, 导致众多开发者对 Joyent 不满, 于是项目的几个 top 开发者成立了node-forward, 并 fork 了项目, 希望能加快项目开发.

为了应对这次危机, Joyent 效仿 Docker 的管理方式, 成立了advisory board, 想要以一种更加开放的方式管理项目, 初始成员包含多个公司node开发者, 并进行了多次会议 讨论成员选取方式, 代码贡献发布, 新特性支持等众多问题.

咨询委员会的成立, 使得 Node 的管理更加规范, 但势必会减慢项目的发布进度(初期各种事情需要确定, 新特性必须经过多方商讨确定等) 11.21 libuv 1.0 release

libuv 是 Node.js 的底层支撑项目, 提供了系统异步IO支持, 并且兼容三大平台. 原来只是用于 Node 项目, 现在从 Joyent 公司独立出来, 并应用到许多其他项目 Luvit, Julia, pyuv. 目前该项目已经发布 1.0 . 其主要开发者为 StrongLoop 公司的 Ben 和 Bert. 以及saghul 12.09 io.js fork

Node.js 跟 Docker 真像一对同命兄弟, 发布后都迅速的火起来, 都采用相似的委员会管理模式, 最后又都分裂为两个分支: Docker 分裂出了 Rocket, Node 分离出了 io.js

io.js 其实 是nodeforward 重命名, 因为法律版权问题,他们无法使用 node 这个名字, 故而改用 io.js 这个通用名词. io.js 由 node 项目top8代码贡献者中的六人fork出来, io.js定义为与node和npm兼容的框架, 通过几次视频会议确定了他们的方向和目标:

Continuous integration
100% passing tests as a normal state of affairs
Strict SemVer-compliant versioning
Contributor ownership, outside of corporate control
Transparent consensus-seeking governance
Weekly releases
Supported versions of V8
Active development
Predictable roadmap
Community engagement

目前正忙于着手开发新版本, 打算在2015.1.13 发布 1.0 alpha 版. 另外值得一提的是, Ben 目前成为io.js的主力开发者, 以另外一种方式又回到了node的怀抱.

关于io.js, advisory board, node-forward的关系可以参看Isaacs的一篇博客, 其中提到io.js跟node并非竞争关系,并且希望将来某个时候能够合回node.

分裂在开源的世界中似乎是无法避免的问题. 竞争带来分裂的同时, 也为整个生态带来生机. 12.10 npmjs.com 改版

似乎这一年来唯一的好消息就是 NPM 了. npm,Inc 成立后, Isaacs通过架构重新设计和优化, 大大增加了服务的稳定性, 及响应速度(详见官方博客). NPM 在 06.27 超过 ruby 和 java 成为最大的包管理平台, 并在09.13发布了2.0版, 引入了包括私有模块在内的众多特性, 10.14成为第一个数量超过十万的包平台. npm 还重新设计了文档页面, 及首页. 并把域名从 .org 迁移到了 .com (盈利的化的前奏?)

除此之外他们还重新定义了 NPM. NPM不再只是node的包管理工具, 还是 browser, jquery, gulp, bower, mobile, angular, nodebots, grunt, tessel, browserify – javascript 的管理工具. NPM 不再是 node package manage 的缩写, 而是: nice people matter, nominally patriotric meathead, neoanthropic preternatural murmurings 等有趣单词的缩写(可能是 io.js 的出现才让他们想要强调这点, 也可能是他们想做更多,而不只是 node 平台) 2015

14 年 Noder 们把最坏的事情都经历了, 未来只会更好, 不会更差. 随着 node 0.12 和 io.js 1.0 的马上发布, 我们不仅能用上新版本的众多特性, 还能使用 ES6 中的许多语法: Generator, Promise等, 届时 koa 等框架将会得到大量采用. 15 年 node 会走出迷茫, 向着美好的未来前进.

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-194.html

文章标题:Node.js 2014这一年发生了什么

相关文章
如何为高负载网络优化Nginx 和 Node.js?
译者:AlfredCheung 在搭建高吞吐量web应用这个议题上,NginX和Node.js可谓是天生一对。他们都是基于事件驱动模型而设计,可以轻易突破Apache等传统web服务器的C10K瓶颈。预设的配置已经可以获得很高的并发,不过,...
2015-11-12
可以从CSS框架中借鉴到什么
现在很多人会使用 CSS 框架进行快速建站。   那 CSS 框架是什么呢,它通常是一些 CSS 文件的集合,这些文件包括基本布局、表单样式、网格、简单组件、以及样式重置。使用 CSS 框架大大降低工作成本进行快速建站。   当然对于一些大...
2016-03-11
JavaScript是什么
JavaScript 是世界上最流行的编程语言。 这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScript,一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置...
2015-11-16
从 Node.js 分裂出 Io.js 事件看开源软件谁做主
Node.js 作为服务器编程语言的后起之秀,常用来构建和运行 Web 应用,近日却爆出其社区出现分裂。由于对官方运营商 Joyent 公司在 Node.js 管理上的长期不满,多位核心开发者另立门户,创建了分支 Io.js。从 GitHu...
2015-11-12
Node.js的不足之处
跨平台编程能力不够强大 Bowery团队指出Go能很方便地在不同系统里进行程序编译,这是他们转入Go的重要原因之一。 作为开发平台,对Linux,Windows,OSX等常见操作系统提供支援是能否吸引开发者的基本要素。在Go中,开发者可以针...
2015-11-12
前端问答社区成立了
由雷锋网友提供的给大家相互交流的前端问答社区正式上线了,欢迎大家来此相互交流相互学习 ...
2016-03-30
WebSocket断开原因分析,再也不怕为什么又断开了
阅读原文:https://wdd.js.org/websocket-… 1. 把错误打印出来 WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来。 在线demo地址:https://wdd.js.org/we...
2018-04-25
百度新功能【特效搜索】演示 惊呆了小伙伴
百度搜索最近又出新玩意新功能了,可能你还没有发现,名为【百度特效搜索】已经默默上线了,有什么效果呢? 在百度搜索中根据用户搜索的关键词来出发某些动作,例如笔者搜索“打雷”关键字,在搜索结果中你会听到有打雷声, 黑洞,闪烁、翻转、跳跃,打雷,...
2015-11-12
Node.js将向移动端扩展
如果你还没有听过Node.js,那么现在就可以了解一下! 目前,来自200多个国家的数以万计的组织在使用Node.js,在Node.js的网站上,每月都有超过200万次下载。但版本发布缓慢使开发人员日益不满,网上出现了创建Node.js分支...
2015-11-12
2014年,你是不是被这5个HTML5技术刷屏了?
如今,几乎每天都有HTML5页面的推广以及小游戏、小测试在微信上传播,用户也逐渐习惯被各种HTML5轰炸。那么在刚刚过去的一年究竟有哪些HTML5技术堪称火爆,让人们的微信频频被刷屏呢? 1、2048 2048 在4x4的棋盘上,用方向键选...
2015-11-12
回到顶部