标签:
首先Node.js是2009年诞生的,已经发展了这么多年,其成长与发展速度是有目共睹的。
名字
随着Node.js的发展,网上的报道越来越多,所以其叫法也是五花八门,有的叫Node,也有的叫Nodejs。但是在其官网上,一直将该项目称之为Node或者Node.js。由于Node的语义太多,所以我们将其称之为Node.js。js后缀是点缀该项目的本意。
Node.js不是js应用,而是js的运行环境
刚一听到这个名字,许多人就认为这是一个Javascript应用,其实不然,Node.js是一个Javascript的运行环境。作为前端最重要的语言Javascript,一直都是前端工程师的专利,不过Node.js是一个后端的Javascript运行环境。这就意味着你可以使用Javascript来编写后台代码,然后交给Node.js来解释执行。
简单的命令就是 #node hello.js
Node.js采用了Chrom V8引擎,性能很好,并且提供了很多API。浏览器端的Javascript在运行时会受到很多限制,对客户端系统的操作有限。而Node.js是一个全面的Javascript后台运行时,为Javascript提供了很多其他语言可以实现的功能。
Node.js
Node.js的设计思想中以事件驱动为核心,它提供的绝大多数API都是基于事件的、异步的风格。使用Node.js开发的人员,需要根据自己业务的逻辑来注册相应的回调函数,这些函数的调用都是异步的,这就使得虽然在代码结构中函数看起来是依次注册的,但是他们并不会依赖自身出现的顺序,而是等待相应的事件去触发它。
事件驱动,异步编程的优势在于,它充分的利用的系统资源,执行代码无须阻塞等待某一代码或某一操作执行完成,有限的资源可以用于执行其他的任务。这样设计是非常有利于后端的网络服务开发,Node.js的目标也在于此。在服务器中,对并发的请求处理一直是个大问题,但是使用Node.js这种事件触发,异步编程可以很大的改善开发人员的效率,性能也会改善。
```
var http = require(‘http‘); http.createServer(function (req, res) { res.writeHead(200, {‘Content-Type‘: ‘text/plain‘}); res.end(‘Hello World\n‘); }).listen(80, "127.0.0.1");
```
这是一个在本地搭建服务器的例子,从这个例子可以看出:
Node.js的优点
上边提到的事件触发,异步编程就算是Node.js的特点。
Node.js的另一个特点是:它所支持的语言为Javascript。
参考文献http://www.infoq.com/cn/articles/what-is-nodejs
标签:
原文地址:http://www.cnblogs.com/wyb1995/p/5812962.html