工具猫
学无止境

nodejs中文教程- nodejs,2011热门网络开发技术

谈到网页的开发技术,许多人的印象中不外乎便是PHP、Java或是.Net等等,而比较新兴的技术则可能是Ruby或是Python,在本系列文章中,我将介绍在近日中热门的网路技术,让各位读者能够掌握最新趋势。

 

Node.js绝对是这一年最火热的名词了,若是你像Insiders一样关注Hacker News等国外媒体的话,你一定会看到Node.js的相关讨论。

Node.js顾名思义便是使用JavaScript语言作为基础的框架,特别的是,相对于jQuery或是YUI等在浏览器中运行使用的JavaScript框架,Node.js是作为网站程式的後端框架,就如同PHP或是Java一般开发网站。

换句话说,JavaScript不只可以跑在浏览器中,还可以当做网站的伺服器!这个想法是非常的新鲜有趣,主要的原因是在于随着Gmail等AJAX网站以及技术的兴起,许多的程式开发者纷纷投入心力钻研JavaScript,并且有许多开发心得、优化技巧陆续被发掘,加上浏览器之间的竞争越来越激烈,JavaScript的执行效能持续性的突破,因此最终便诞生了Node.js。
简单的范例

Node.js在官网上便提供了一个简单的Helo World范例,如下:

1
2
3
4
5
6
7
8
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');

或许各位有注意到了,其整支网站程式架构便是在一个简单的JavaScript当中,并且提供了很好的自定弹性。

除了作为HTTP Server之外,Node.js也可以提供作为一般TCP Server使用。
实际的应用

虽然仍然是相对较新的技术,但截至目前为止,Node.js已经有一些实际的应用范例可以参考了。

在Inside前几天与Plurk亚太区总监的对谈中,便提到了Plurk使用了Comet技术来让讯息的更新可以达到近乎即时的效果,其背後的技术便是透过Node.js(不过後来似乎又换回Java?)。

在他们开发者Amir的部落格中,便有Node.js和Comet server的技术经验分享投影片、以及简单的程式码范例可以下载,而其在台北的TOSSUG聚会中的演讲影片也可以在YouTube上观看。

另外值得一提的是,HP的平板电脑和智慧型手机作业系统WebOS,也内建了Node.js作为开发的环境之一。

在GitHub上的专案Wiki页面中也有相关开放原始码专案和使用Node.js的公司列表,有兴趣的读者可以参考。
具体的优点

整体而言,Node.js具有几个相当有吸引力的特点:
JavaScript

无论你先前曾经是PHP、Ruby或是Python的开发者,多少对于JavaScript都会具有一些基本的概念。因此要上手Node.js可以算是相对的迅速很多。
优秀的效能表现

Node.js是建筑在Google Chrome所开放原始码的V8 JavaScript引擎上,是目前最快速的JavaScript处理引擎之一,以non-blocking的概念作为基础(与Nginx雷同),提供相对于一般网页伺服器(像是Apache)更快速的request处理效能。
强大的社群支援

更吸引人的一点,则不外乎其强大的社群支援了!如同先前提到的,目前国外最炙手可热的技术便是Node.js,上网搜寻随时都可以找到许多文章,而在问答网站像是StackOverflow上也有许多热心的网友愿意替大家解决相关问题。

而其套件管理系统npm中也拥有了上千个套件可以提供开发者们使用,且这个数字正在持续的快速增加中!
学习的资源

对Node.js产生兴趣了嘛?下面是一些不错的学习资源可以提供参考:
How To Node – NodeJS
Learning Server-Side JavaScript with Node.js | Nettuts+
NodeJS Screencasts
YUI Theater — Ryan Dahl: “Introduction to NodeJS” (58 min.) ? Yahoo! User Interface Blog (YUIBlog)
结论

Node.js在国外的hackers中可谓炙手可热,而国内也逐渐有愈来月多的开发者持续关注当中。虽然实际应用鲜少有机会可以全部透过Node.js来开发,但针对一些需要即时性的,像是聊天室或者是news feeds等便可以考虑透过Node.js作为解决方案。

原文地址:http://www.goodldy.com/2011/04/2011top-technology-web-development-node-js/

转载请保留出处:工具猫 » nodejs中文教程- nodejs,2011热门网络开发技术

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址