买了朴灵的《深入浅出Node.js》开始Node学习,come on !为了以后成为一个更合格的全端努力。闲话少说,开始正题。
(一)背景:
- 一个叫Ryan的大神基于V8引擎创建的一个轻量级的Web服务器并提高了一套库,Node诞生。
- Ryan想写一个基于事件驱动、非阻塞I/O的web服务器,权衡利弊他选择了javascript作为开发语言(真是明智呀),最初的项目叫web.js,后来发展成了一个构建网络应用的基础框架,真是牛逼呀。
- Node的结构与Chrome很相似,都是基于事件驱动的异步架构,浏览器通过事件驱动来服务界面上的交互,Node通过事件驱动来服务I/O。Node使得前后端编程环境统一,可以大大降低前后端转换所需要的上下文交换代价。真机智!
(二)Node特点
- 异步I/O
- 事件与回调函数
- 单线程
- 跨平台
- 前后端编程语言环境统一:雅虎的Cocktail框架
- Node带来的高性能I/O用于实时应用:Voxer的实时语音
- 并行I/O使得开发者可以更搞笑地利用分布式环境:阿里巴巴的NodeFox
- 并行I/O,有效利用稳定接口提升Web渲染能力:雪球财经和LinkedIn
- 云计算平台提供Node支持:Joyent
- 游戏开发领域:网易的pomelo实时框架
- 工具类应用