nowindxdw
11/2/2017 - 12:49 AM

Nodejs development

amazing article with description of nodejs development

摘自:http://cnodejs.org/topic/58eee565a92d341e48cfe7fc Node.js,1.0之前等了6年,而从1.0到8.0,只用了2年时间 我们就数一下 ● 从v0.1到0.12用了6年 ● 2015-01-14发布了v1.0.0版本(io.js) ● 2.x(io.js) ● 3.x(io.js) ● 2015年09月Node.js基金会已发布Node.js V4.0版 与io.js合并后的第一个版本 ● 2015年10月Node.jsv4.2.0将是首个lts长期支持版本 ● 2016年底发布到4.2.4 && 5.4.0 ● 2016年3月20日v4.4.0 LTS(长期支持版本)和v5.9.0 Stable(稳定版本) ● 2016 年底 v6.0 支持95%以上的es6特性 , v7.0通过flag支持async函数,99%的es6特性 ● 2017年2月发布v7.6版本,可以不通过flag使用async函数 整体来说趋于稳定 ● 成立了Node.js基金会,能够让Node.js在未来有更好的开源社区支持 ● 发布了LTS版本,意味着api稳定 ● 快速发版本,很多人吐槽这个,其实换个角度看, 这也是社区活跃的一个体现,但如果大家真的看CHANGELOG, 其实都是小改进,而且是边边角角的改进, 也就是说Node.js的core(核心)已经非常稳定了,可以大规模使用

Node.js的若干使用场景 ● 网站(如express/koa等) ● im即时聊天(socket.io) ● api(移动端,pc,h5) ● HTTP Proxy(淘宝、Qunar、腾讯、百度都有) ● 前端构建工具(grunt/gulp/bower/webpack/fis3…) ● 写操作系统(NodeOS) ● 跨平台打包工具(PC端的electron、nw.js,比如钉钉PC客户端、微信小程序IDE、微信客户端,移动的cordova,即老的Phonegap,还有更加有名的一站式开发框架ionicframework) ● 命令行工具(比如cordova、shell.js) ● 反向代理(比如anyproxy,node-http-proxy) ● 编辑器Atom、VSCode等

Web框架演进时间线大致如下: ● 2010年tj写的Express ● 2011年Derby.js开始开发,8月5日,WalmartLabs的一位成员Eran Hammer提交了Hapi的第一次commit。Hapi原本是Postmile的一部分,并且最开始是基于Express构建的。后来它发展成自己自己的框架, ● 2012年1月21日,专注于rest api的restify发布1.0版本,同构的meteor开始投入开发,最像rails的sails也开始了开发 ● 2013年tj开始玩generator,编写co这个generator执行器,并开始了Koa。2013 年下半年李成银开始ThinkJS,参考ThinkPHP ● 2014年,4月9日,express发布4.0,进入4.x时代持续到今天,MEAN.js开始随着MEAN架构的提出开始开发,意图大一统,另外total.js开始,最像PHP’s Laravel 或 Python’s Django 或 ASP.NET MVC的框架 ● 2015年8月22日, 下一代Web框架Koa发布1.0,可以在node 0.12下面,通过co + generator实现同步逻辑,那时候co还是基于thunkfy的,2015.10.30 ThinkJS发布了Es2015+ 特性开发的v 2.0版本 ● 2016 年 09 月,蚂蚁金服的eggjs,在 JSConf China 2016 上亮相并宣布开源 ● 2017年2月,下一代Web框架Koa发布2.0