利用JavaScript开发事件驱动的Web应用 – node.js简介

  今天混迹于技术社区时,真正接触到了传说中的服务器端Javascript。在服务器端使用Javascript可以弥合服务器端语言和客户端脚本语言的鸿沟,使得他们能够更好的协作。客户端甚至可以直接复用服务器端的一些组件,这样就可以简化很多在客户端、服务器端重复进行的工作,例如表单验证。由于不存在了语言的差异,服务器端和客户端通讯将变得更加简洁。我研究了一下javascript for server的一个典型项目,node.js。这是一个事件驱动模式的javascript服务器容器。它采用了谷歌Chrome浏览器的高效js引擎V8,服务器请求处理模式则使用了和高效HTTP服务器NGINX一样的event loop。根据一些测试显示,一个Hello World程序在一台拥有4核的CPU上,以4进程方式运行,可以承受2.4万并发连接请求,这对于绝大多数服务器端脚本语言来说是一个可望而不可即的数字。另外由于node.js的事件驱动程序模型,对很多需要耗费大量资源维护长连接请求的应用(比如聊天室、SNS、微博、WebIM等等)来讲,更是福音。它不仅降低了服务器端资源开销,也使得应用更具实时性。

  Javascript运行在服务器端已经有了很长的历史,早在微软推行的ASP统治年代,JavaScript就被允许当作ASP的脚本语言来使用。但由于功能太弱,以及效率上的问题,JavaScript作为服务器端脚本语言并没有得到广泛的运用。随着Web技术的日渐发展,一些大型的Web客户端应用不断涌现。从最初的富客户端应用依赖于Flash,到后来在Google的带动下,利用Javascript脚本编写的富客户端应用大行其道,这也推动了浏览器技术的蓬勃发展。短短几年,浏览器端Javascript的运行效率竟然提高了数十倍。面对这种形式,用Javascript来统一Web开发前后端,似乎也是大势所趋了。

  在这种背景之下,经过开源社区无数人的努力,node.js诞生了。

  本打算亲自写一篇入门文章,通过各种方式竟然找到了很多优秀的内容,为了避免麻烦,不再复制粘贴至此,请各位童鞋移步观看:

  以下是node.js的官方资源,node.js引擎可以在此处下载:
http://nodejs.org/

  其官方还提供了一共Demo应用,是一个聊天室。经常有中国人出没,聊天记录里面大片的中文[emot]hamarneh[/emot]
http://chat.nodejs.org/

  这是一个为node.js构建的MVC框架,有兴趣的童鞋可以去看一下:
https://github.com/visionmedia/express

  《学习服务器端的JavaScript_Node.js》这是一篇优秀的node.js入门文章
http://www.grati.org/?p=181

  这是由Node.JS中文社区提供的一篇关于node.js入门构建的文章
http://cnodejs.org/blog/?p=342

  一个介绍入门的幻灯片
http://www.slideshare.net/lijing00333/node-js

  为了提供服务器端javascript的统一接口规范,开发者社区制定了类似标准库的Javascript标准抽象规范,详情请看
http://www.oschina.net/p/commonjs?from=rss

  当然,对于一种刚刚兴起不久的技术,还需要相当长的发展才能被广泛地应用。目前,node.js主要面临的问题是缺乏成熟的框架、模块。当然,这些都需要更多的开发者投身于node.js。相信不久,node.js一定能够成为一门流行的Web开发语言。

利用JavaScript开发事件驱动的Web应用 – node.js简介》上有1条评论

评论已关闭。