为什么Node.js如此流行

jopen 10年前

我相信你肯定听说过Node.js。现在几乎每个人都在谈论它,每个人都想学习它,看起来它就是WEB开发未来的趋势,许多大型网站比如LinkedIn,eBay,Paypal都是在它之上构建的。

Node.js是一项用于构建和运行WEB应用的服务端技术,类似ASP.NET,Ruby on Rails或者Spring。它使用JavaScript作为开发语言,并自带一个轻量级的WEB服务器,以及Node包管理器所维护的大量插件,有了它 们你可以将应用打造成你想要的任何样子,比如说添加MVC特性,REST风格的服务,OAuth或者SSL等。

不过,为什么它会突然如此流行?听起来像是出现了另一项WEB开发技术?

简单来说,包括以下这些原因:

  • 语言的重用

ASP.NET或者Spring这样的技术需要开发人员学习另一门服务端开发语言,C#,VB.NET或者Java。而另一方面,Node.js在服务端和客户端使用的都是JavaScript,这意味着开发人员在各层上都只需要使用一门语言。

  • 开发人员转型更容易

WEB开发人员几乎都了解JavaScript,这已经是既成事实了。许多人都知道JavaScript或者或多或少地用过它,当然了,也正因为这个,一个WEB开发人员迁移到Node.js平台真是太简单不过了。

  • 轻量级

Node.js使用的是事件驱动架构,这意味着它所做的每一件事情,包括每一个调用或者操作,都是一连串的异步回调。这使得Node.js能够运行 在一个线程上,则在别的WEB技术中,每个客户端请求都会生成一个新的线程来处理(注:也不是这么绝对)。Node.js的这个主要特性也正是非阻塞IO 的本质所在。

2000.png

  • 对象数据库的内建支持

在Node.js应用中使用诸如MongoDB这样的对象数据库简直太正常不过了。MongoDB和传统的SQL数据库不同的是,它使用的是基于文档的模型而不是关系型模型,这意味着它用的不是表,而是类似于JSON这样的对象。这正是ORM粉丝的不二选择。

  • IDE以及代码编辑器的广泛支持

JavaScript已经诞生了很长一段时间了,因此有许多的IDE比如Visual Studio以及Eclipse都支持代码提示和高亮,像NotePad++以及Sublime Text之类的编辑器也同样如此。

  • 服务可以托管在任何地方

有许多WEB服务器以及云服务托管提供商都支持Node.js的WEB应用。这里列出几个:Google, Microsoft IIS, Heroku, Microsoft Azure, Amazon(AWS),还有许多 。

这是我个人的几点拙见。这几个星期我一直都在折腾Node.js,现在已经有点无法自拔了。随着时间的流逝,你会发现学习一下Node.js非常有必要。很快我会把我的一些发现给写出来。

同时这里有一份很有意思的指南,它告诉你何时何处应当使用Node.js,并且如果它确实能派上用场的话,如何去说服你的老板同意你在下一个工程中使用它。

来自:为什么Node.js如此流行 英文原文链接