Node.js 介绍

Node.js 介绍

什么是Node.js

Node.js是建立在Google Chrome的JavaScript引擎(V8引擎)上的服务器端平台。Node.js由Ryan Dahl于2009年开发,其最新版本是v0.10.36。Node.js的定义如下:

Node.js是一个建立在Chrome的JavaScript运行时上的平台,用于轻松构建快速和可扩展的网络应用程序。Node.js使用事件驱动的、非阻塞的I/O模型,使其轻巧高效,非常适合在分布式设备上运行的数据密集型实时应用程序。

Node.js是一个开源的跨平台运行环境,用于开发服务器端和网络应用程序。Node.js应用程序使用JavaScript编写,并可以在OS X、Microsoft Windows和Linux上在Node.js运行时中运行。

Node.js还提供了丰富的各种JavaScript模块库,极大地简化了使用Node.js开发Web应用程序的过程。

Node.js = Runtime Environment + JavaScript Library

Node.js的特点

以下是一些重要的特点,使得Node.js成为软件架构师的首选。

  • 异步和事件驱动 - Node.js库的所有API都是异步的,也就是非阻塞的。这意味着Node.js服务器不会等待API返回数据。在调用完API后,服务器会继续执行下一个API,并通过Node.js的事件通知机制来获取之前API调用的响应。

  • 非常快速 - Node.js库是基于谷歌Chrome的V8 JavaScript引擎构建的,所以执行代码非常快速。

  • 单线程但高度可扩展 - Node.js使用单线程模型和事件循环。事件机制帮助服务器以非阻塞的方式响应,与传统服务器创建有限线程以处理请求的方式相比,使服务器具有高度可扩展性。Node.js使用单线程程序,同一个程序可以为更多的请求提供服务,而传统的服务器(如Apache HTTP Server)不能做到这一点。

  • 无缓冲区 - Node.js应用程序不会缓冲任何数据。这些应用程序只是按块输出数据。

  • 许可证 - Node.js发布在MIT许可证下。

谁在使用Node.js

以下是包含使用Node.js的项目、应用和公司的Github Wiki链接。其中包括eBay、通用电气、GoDaddy、微软、PayPal、优步、Wikipins、雅虎!和Yammer等等。

  • 使用Node.js的项目、应用和公司

概念

下图描述了Node.js的一些重要部分,我们将在接下来的章节中详细讨论。

Node.js 介绍

在哪些领域可以使用Node.js

以下是Node.js作为完美技术伙伴展现的领域:

  • 面向I/O的应用程序
  • 数据流应用程序
  • 数据密集型实时应用程序(DIRT)
  • 基于JSON API的应用程序
  • 单页面应用程序

在哪些领域不建议使用Node.js

不建议在CPU密集型应用程序中使用Node.js

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程