10032---Node.js实战--欢迎进入Node.js世界

来源:互联网 发布:多目标优化 百度百科 编辑:程序博客网 时间:2024/06/11 01:33


官网上(http://www.nodejs.org)给Node下的定义是:

“一个搭建在Chrome JavaScript运行时上的平台,用于构建高速、可伸缩的网络程序。Node.js采用的事件驱动、非阻塞I/O模型,使它
既轻量又高效,并成为构建运行在分布式设备上的数据密集型实时程序的完美选择

Node.js在Github受关注项目排行榜上位列第二(https://github.com/joyent/node)。

社区同仁们在NPM包管理网站(http://npmjs.org)上发布的模块多达15 000 多个。

1.1 构建于JavaScript 之上

现代化JavaScript虚拟机的性能正改变着可以构建在Web上的应用类型。 一个很有说服力的、坦率地说是令人震
惊的例子是jslinux, 一个运行在JavaScript中的PC模拟器,它能加载Linux内核,可以利用终端会话与其交互,

还能编译C程序,而这一切都是在浏览器中完成的。

在服务器端编程,Node使用的是为Google Chrome提供动力的V8虚拟机。V8让Node在性能
上得到了巨大的提升,因为它去掉了中间环节,执行的不是字节码,用的也不是解释器,而是直
接编译成了本地机器码

Node在服务器端使用JavaScript还有其他好处。
---JSON是目前非常流行的数据交换格式,并且还是JavaScript原生的。
---有些NoSQL数据库中用的就是JavaScript语言(比如CouchDB和MongoDB),所以跟它们
    简直是天作之合(比如MongoDB的管理和查询语言都是JavaScript;CouchDB的map/reduce

1.2 异步和事件触发:浏览器

Node为服务端JavaScript提供了一个事件驱动的、异步的平台。它把JavaScript带到服务端中
的方式跟浏览器把JavaScript带到客户端的方式几乎一模一样。了解浏览器的工作原理对我们了解
Node的工作原理会有很大帮助。它们都是事件驱动(用事件轮询)和非阻塞的I/O处理(用异步
I/O)。 
   事件轮询和异步I/O 要了解更多有关事件轮询和异步I/O的知识,请参见相关的维基
百科文章:

浏览器中非阻塞I/O的例子

0 0
原创粉丝点击