Node.js®是建立在Chrome的JavaScript运行时很容易构建快速,可扩展的网络应用程序的平台。 Node.js使用事件驱动,非阻塞I/O模型,使得它重量轻,效率高,完美的跨分布式设备运行数据密集型实时应用。
Node.js是一个开源,跨平台运行环境的服务器端和网络应用。Node.js应用程序是用JavaScript编写的,并可以在OS X,微软Windows和Linux内的Node.js运行时运行。
Node.js还提供了丰富的各种模块的JavaScript库,从而简化了使用Node.js,一个很大的程度上方便web应用程序的研究与开发。
Node.js特性
以下是一些使得Node.js成为软件架构师的首选的重要特征。
-
Node.js库异步和事件驱动 - 所有API异步是非阻塞。 这意味着一个基于Node.js的服务器不会等待API返回数据。 服务器移动到下一个API后调用它,Node.js事件的一个通知机制有助于服务器,以获得从以API调用的响应。
-
非常快 - 正在构建在谷歌Chrome的V8 JavaScript引擎,Node.js库代码执行是非常快的。
-
单线程但高度可扩展 - Node.js使用事件循环单线程模型。事件机制有助于服务器在非阻塞的方式作出反应,并使得服务器的高可扩展性,而不是它创建线程限制来处理请求的传统服务器。 Node.js使用单线程的程序和同样的程序处理比传统的服务器要大的多,比如:比Apache HTTP服务器请求服务的数量大得多。
-
无缓冲 - Node.js的应用从来没有缓冲任何数据。这些应用程序只需输出块中的数据。
-
许可证 - Node.js是在MIT许可下发布的。