前言
我是一个.net程序员,服务于一个传统的项目管理软件,开发BS项目管理软件。业余时间喜欢学一些新技术,开阔自己的眼界。
这段时间就一直在看node.js,从网上搜了些教程看看了,跟着写了百十行代码。算是知道了个皮毛了。
也给大家推荐这个教程:http://nodebeginner.org/index-zh-cn.html,(里面讲解的index + router + server + requestHandler的构架设计思想我很喜欢)
亮点:非阻塞处理请求
Node.js给我最深的印象是:可以非阻塞的处理请求,比如现在有10个串行的操作,如果执行到第2个需要很长时间,在开始执行第二个后,它会继续向下执行第3个,而不是等到第2个完全执行完了,再去执行第三个。
我想这个亮点也是它迅速流行的主要原因。
疑惑:Node.js用来做网站吗?
比如学django,一开始就知道它是个网站构架,学习它就是为了开发网站。
但我认为,Node.js的出世,不是为了开发整站服务的。有得文章提到,它的优势是非阻塞的快速处理,减少服务器消耗。比如服务于twitter队列和大型游戏统计数据(http://www.ibm.com/developerworks/cn/opensource/os-nodejs/)。
但是,现在网上只有开发网站和网页功能的教程。
所以,刚接触node.js我就很迷茫,我不知道怎么去用它。我不知道如何用node.js去改善我们产品的性能。
关于NPM
npm是node.js的一些插件包,其中比较出名的是express,一个开发网站的构架插件。(又是开发网站。。。)
在windows环境下,貌似不是很方便安装npm。于是我转到ubuntu下去安装npm,结果安装了三次之后,都以失败告终。具体原因不清楚,我猜想是天朝网络的问题。所以,我没机会去接触NPM的学习。
总结:我要用它
请大家真正去发展Node.js的亮点,发挥它真正的价值,而不是拿它去和别的网站开发系统做竞争。不光是Node.js,也包括别的产品技术。
这几天学Node.js,也算是了解了一下吧,完全没法真正实际的应用。很期待能再真正的项目中,看到Node.js的身影,而且是它在其中发挥自己的核心价值。