1.1 node.js的起源与发展史
- 2009年2月,美国程序员Ryan Dahl在个人博客上宣布准备基于V8创建一个轻量级的web服务器,并提供一套库。
- 2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node.js包,随后几个月里,有人开始使用Node.js开发应用。
- 2009年11月和2010年4月,两届JSConf大会都安排了Node.js的讲座。
- 2010年年底,node.js获得云计算服务商Joyent资助,创始人Ryan Dahl加入Joyent全职负责Node.js的发展。
- 2011年7月,node.js在微软的支持下发布Windows版本。
- 2012年1月,node.js之父Ryan Dahl宣布从掌门人位置上退下,由Isaac Schlueter接替自己的位置,而自己将转其他研究项目(go语言)。
图为 node.js之父 Ryan Dahl
Ryan Dahl数学出身,博士没读完只拿到了硕士学位。
之前主要用C/C++和Ruby,偶然发现V8性能不错,才开始玩js的
Ryan Dahl对于许多程序设计语言难以实现并发,并且经常导致的糟糕的性能问题颇为苦恼。 他希望能够更容易的编写出来快速的、支持许多用户并且高效的使用内存联网软件,于是他创建了node.js
1.2 node.js是什么
node.js 不是一种独立的语言,与 PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。
node.js 也不是一个 JavaScript 框架,不同于 CakePHP、Django、Rails。node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。
node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为脚本语言世界的一等公民,在服务端堪与 PHP、Python、Perl、Ruby 平起平坐。
node.js 是一个划时代的技术,它在原有的 Web 前端和后端技术的基础上总结并提炼出了许多新的概念和方法,堪称是十多年来 Web 开发经验的集大成者。
node.js 可以作为服务器向用户提供服务,与 php、python、ruby on rails 相比,它跳过了 Apache、Nginx 等 HTTP服务器,直接面向前端开发。
node.js 的许多设计理念与经典架构(如 LAMP)有着很大的不同,可提供强大的伸缩能力,以适应21世纪10年代以后规模越来越庞大的互联网环境由于node.js的独特特性,它非常适合用于多人游戏、实时系统、联网软件和具有上千个并发用户的应用程序。
1.3 node.js能做什么
使用node.js,你可以轻松地开发:
- 具有复杂逻辑的网站
- 基于社交网络的大规模web应用
- WebSocket服务器
- 实时多人游戏
- 命令行工具
- 带有图形用户界面的本地应用程序
...