JSConf2010的重要议题之一:node.js。
不要觉得服务器端JavaScript是个新概念。其实老早就有了,从九六年Netscape普及JavaScript的时候,服务器端和客户端都是考虑到了的,只不过只有客户端健壮发展起来了,服务端的故事直到现在才被慢慢提起。
看看有什么优势:
最大的优势,不过是统一了服务端和客户端的开发语言,真正可以看到客户端服务端一起开发和一统天下的格局,兴许对开发人员的要求能降低?可以真正看到服务端的代码到了客户端一样重用。不仅仅是数据模型,也保证了一些业务逻辑可以同样地被执行。
JavaScript引擎的发展,Chrome似乎是目前最好的了:
JavaScript可以和UQL的创意结合起来,通过简单的代码,开发快速丰富的互联网应用。
现在已经有JavaScript库来调用C++代码了,即调用本地代码,不过我觉得现在的JavaScript在服务端或许可以作为动态语言的扩展和补充,什么时候能见到一个真正有趣的服务端JavaScript应用呢?、
看看基于事件的node.js吧。
顺便提一下事件模型和线程模型。事件模型比如Apache,对每一个请求分配到一个合适的线程中去处理,对于一些占用线程时间较长的应用,长连接的应用,扩展性就不足了。
安装:
./configure make make install
一个Hello, World服务端演示(example.js):
include("/utils.js"); include("/http.js"); createServer(function (req, res) { setTimeout(function () { res.sendHeader(200, {"Content-Type": "text/plain"}); res.sendBody("Hello World"); res.finish(); }, 2000); }).listen(8000); puts("Server running at http://127.0.0.1:8000/");
然后执行:
/usr/local/bin/node example.js
服务端就部署好了,快速倒是真贴切。
详细教程请参见:http://www.grati.org/?p=181
官网 http://nodejs.org/
这个是个聊天工具的例子,服务端和客户端都是同质的JavaScript http://chat.nodejs.org/