Node.js 是一种后起的优秀服务器编程语言,它用来构建和运行 Web 应用,这和 ASP.NET,Ruby on Rails 或 Spring 框架做的工作是类似的。它使用 JavaScript 作为主要的开发语言,有一个自带的轻量级 Web 服务器,还有 Node 包管理(NPM)的大量插件,你就可以按照你自己的需求来塑造 Web 应用,像添加 MVC 特性,加入 Restful 服务,OAuth 或 SSL 安全性等等。但是,是什么原因让 Node.js 突然间如此流行呢?听起来像是有了一种新的 Web 开发技术,是这样吗?我们来汇总一下原因:
1、前端/后端开发使用同一种语言
像 ASP.NET 或 Spring 这样的技术需要开发人员学习一门新的服务端语言,比如C#,VB.NET 或者 Java。而 Node.js 在服务端和客户端都是使用 JavaScript,这意味着开发人员在各层上只需使用一门语言。
2、容易学会
有一个事实就是 JavaScript 是 Web 开发者们熟知的语言,大部分人都了解 JavaScript 或多少使用过它。所以说,一个 Web 开发人员从其他技术转型到 Node.js 是很简单的。
3、轻量
Node.js 使用的是事件驱动架构,这就是说在它上面做的每一件事,每一个独立的调用和操作,都是一系列的异步回调。这使得 Node.js 运行在一个线程上,这一点和其它的 Web 技术是不同的,它们每个客户端的请求都会生成一个新的线程来处理。这也正是非阻塞I/O的本质所在。
4、支持 NoSQL 数据库
在 Node.js 应用中使用像 MongoDB 这样的 NoSQL 数据库简是十分常见的,MongoDB 和传统的 SQL 数据库不同的是,它使用的是基于文档的模型而非关系型模型,它用的不是表,而是类似 JSON 这样的对象。这就很适合 ORM 的热爱者了。
5、有很好的 IDE 和代码编辑器支持
JavaScript 已经存在相当长一段时间了,所以像 Visual Studio,Eclipse 这样的 IDE 都是支持 JavaScript 代码提示和高亮的,另外像 NotePad++ 和 Sublime Text 之类的代码编辑器也同样支持这些。
6、代码托管服务支持广泛
一些 Web 服务器和云服务提供商都支持 Node.js 的 Web 应用。我们在这里说几个,包括 Google,Microsoft IIS,Heroku,Microsoft Azure,Amazon(AWS)等等。