首先说明一下,以下部分内容摘自nodejs的学习教程,目前使用到的nodejs学习教程有两个——《深入浅出Node.js》和《Node.js开发指南》。
1、什么是Node?
Node是一个javascript运行平台,这里要注重一个词,“平台”这个词,Node不是一门新的开发语言,它只是一个平台。
2、Node.js 能做什么?
Node是为网络而生,使用node,你可以做以下开发:
- 具有复杂逻辑的网站;
- 基于社交网络的大规模 Web 应用;
- Web Socket 服务器;
- TCP/UDP 套接字应用程序;
- 命令行工具;
- 交互式终端程序;
- 带有图形用户界面的本地应用程序;
- 单元测试工具;
- 客户端 JavaScript 编译器。
此外,Node.js内建了 HTTP 服务器支持,也就是说可以轻而易举地实现一个网站和服务器的组合,这个应该是它的重头戏。
3、Node的架构
其中Node标准就暂时不介绍了,后面开发实例当中会来介绍,比如:http,fs,buffer等。。。
介绍以下图上面的几个英文字母:
V8:指的是谷歌的一款javascript引擎——Google V8引擎,具体可以查阅其相关资料,据说是目前全宇宙执行javascript最快的引擎。
Libeio和Libev:底层的事件驱动和异步式 I/O库,据说也是非常高效的。
Libuv:这个主要是用来适用不同的操作系统的,Node刚开始是没有这个的,刚开始只能运行在linux底下,随着发展为了适用于windows,node团队抽象出Libuv这一层。
IOCP:输入输出完成端口机制。