Node.js相关知识

简单的说Node.js是一个使用Javascript作为开发语言的web开发框架。凭借JS良好的用户基础以及Node.js的高性能等优势Node.js迅速的流行了起来。

此前我一直以为Node.js只是一个使用JS作为开发语言的类ROR开发框架。在对Node.js做过简单的了解后发现这确实是一个很酷的东西。如果有机会非常希望将系统的部分功能改由Node.js实现。

由于Node.js的资料已经不少,这里就不再多费唇舌。想对Node.js有更多了解可以参考下面的一些文档。

  • Node.js 究竟是什么 让你对哦Node.js有个总体概念。Node.js是什么,适合做什么,不适合做什么。
  • Node入门 一本(篇)免费的Node.js入门教程。可以用于了解Node.js一些基础使用以及相关概念。
  • Node.js官方文档(API文档) 可以看前几节,对Node.js的Global Objects有些了解。其他的东西可以用的时候再查。
  • 深入浅出Node.js InfoQ关于Node.js的系列文章。
  • Node Club@GitHub Node Club 是用 Node.js 和 MongoDB 开发的新型社区软件。这是一个开源项目,可以用于熟悉Node.js。简单的阅读过Node Club的代码,感觉用Node.js做传统WEB开发的体验并不是太好。
  • npm Node.js使用的包管理工具。在这里你可以找到很多优秀的JS库。很多JS库不但可以用于Node.js还可以直接用于前端。Node.js的社区非常活跃,第三方库的增长速度非常的快。在这些第三方库中不乏一些很有创意的东西。
    • express 构建在Node.js之上的WEB开发框架。
    • lesscoffee-script 这两个已经太出名了
    • jade 非常酷的一个JS模板语言,看上去有些类似zenCODE。
    • ejs 另一个JS模板语言。相比jade,ejs更适合普通人的使用习惯。

题外话(About WebSocket&Django)

WebSocket的良好支持是Node.js的一大优势。WebSocket是HTML5里出来的新东西。WebSocket的实质是在浏览器与服务器间建立一个socket连接从而实现客户端与服务端的双向通信。由于Python的WSGI协议无法支持WebSocket,所以包括Django在内的大多WEB框架要支持WebSocket并不是一件容易的事(注:Evented Django这篇文章里有介绍如何使Django支持WebSocket,不过总的来说有些折腾)。Tornado和Node.js一样同为非阻塞的WEB服务框架不需要使用到WSGI,所以不存在这个问题。

Comments are closed.