日期:2014-05-16  浏览次数:20452 次

nodejs之旅,启程篇
很久很久没在外面的blog写过东西了,沉了几年水,适逢最近想好好用iOS平台并且在研究nodejs,用javaeye写写笔记比较方便吧。我现在在欢聚时代的web组工作,希望能够为改变中国的互联网技术出一份力量吧,有兴趣的童鞋可以跟我交流哦。

闲话不说,先来说说nodejs这东西。这个东西是chrome所使用的js v8引擎的一个升级版,你可以理解它为和java的jdk差不多的一套工具,除了带有javascript解释引擎以外,还提供了一些javascript没有的编程接口。

[url=http://en.wikipedia.org/wiki/Nodejs]Wiki上的nodejs/url]

首先我们来说说nodejs能干什么?很简单,既然它是个development kit, 就可以编写各种程序了,而我们目前的定位主要是编写服务器端的程序(包括server程序和client程序)。可能会有很多同学好奇,我们现在服务器端有bash, python, ruby, java这些跨平台语言了,为什么javascript又要来凑这个热闹?好吧,作为一个javascript的爱好者,我可以告诉你javascript的学习曲线比起刚刚说的那些东西实在是低很多。你只要看完w3school(en|zh)的简单教程,我们的程序员就已经可以上路了。

当然,目前我们的主角nodejs才到0.8.14版本,还是一个非常年轻的帅小伙(始于2009年,就是3年时间而已),所以我们并不会直接和这些老前辈做比较,因为积累的确还是很少。但是在githut的社区里面,node的项目已经是超过了java的项目,让我们来看看一下一个数据(截至2012-11-17来自github的参考数据)
搜索关键字 项目总数|
java 141686
node142140
ruby391116
python208080
scala 21207


可以看到目前node的项目已经超过了java项目,这也说明了其社区还是挺活跃的。另外V8引擎已经被很多人证实过是一个高效的javascript引擎了,所以这个底子应该还是没问题的(当然我个人还没证实过,如果有坑在我会为大家毫不犹豫地揭穿的:D)

不过当然用javascript编程也会带来各种问题,特别是编码规范方面的问题,不过这些我们可以通过后续介绍的coffeescript这个东西来解决,这里就先不吐槽了。

好吧,让我们先来感受下nodejs吧,先来搞下我们node的Hello world:
以下示例环境是在Mac OS X 10.7.5下进行的

安装node
首先去node的官网http://nodejs.org/dist/v0.8.14/node-v0.8.14.pkg下载这个安装包,然后安装完以后,就可以到控制台输入:
node


成功安装的话,你会看到一个>提示符,你就可以在里面直接输入javascript和使用node的API做试验,这个和python还有ruby等的控制台都一样的。

然后我们在里面输入:
> console.log("Hello World!")


输出结果为:
Hello World!
好了。。。这个就是我们的hello world,不管你服不服,起码我们做到了:p

当然,我们也可以让node执行文件的脚本,假设我们有一个hello.js的脚本:
console.log("Hello World!");


然后我们在这个脚本的所在目录输入:
node hello.js

输出也是Hello World!

非常简单,不是吗?因为javascript根本就没有所谓的主程序入口,是一个顺序解释执行的语言,第一个执行文件的第一行代码其实就是你的程序入口了。这一切对于惯于编写javascript的程序员们都在熟悉不过了,神马main函数都通通滚一边去吧~~

今天先到此为止,要睡觉了,明天继续吧,多些大家收看。