好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Node.js[0] 简介

Node.js[0] 简介

学习node的过程很美妙,不断有新的概念出现;这个过程也大大拓展了技术视野,之后会把学习中遇到的点点滴滴整理出来。

Node是什么?

“Node.js”是官方称呼,交流多用node简称。

Ryan Dahl给Chrome V8 Javascript引擎添加了一组友好的Javascript API,并让V8能够独立运行于多个平台上(暂且把V8看做是js虚拟机),这样js也能写出跨平台非浏览器页面的应用。

关于node是什么?github上node项目的 readme 标题为“Evented I/O for V8 Javascript”,也能看出node给自己的定位; 下面是一小段 node代码 ,实现了一个简单http server:

 var  http = require( 'http' );
http.createServer( function  (req, res) {
  res.writeHead(200, { 'Content-Type' :  'text/plain' });
  res.end( 'Hello World\n' );
}).listen(1337,  '127.0.0.1' );
console.log( 'Server running at http://127.0.0.1:1337/' );

node本身只提供实现应用程序的精简 api集合 。为了让node能提供更强大的功能,Ryan借鉴了Perl、Python等语言的经验,提出了NPM(Node Packaged Modules,暂且叫模块)的概念,并创建了一整套的模块发布、安装、依赖管理机制;node后来的成功,也是所有node社区成员共同努力的结果,NPM起了关键的作用。

更多node介绍可查看 这里 。

Node为何成功?

node最初的宣传“噱头”是 单线程异步编程模型 ; 单线程 意味着编程复杂性更容易控制;node事件驱动的异步编程模型实现的非阻塞IO,可以编写出更高并发量的网络程序(如web server);对某些特定应用场景是非常有吸引力的,比如Twitter的 tweet处理队列 ,其他应用场景包括:RESTFUL API、实时数据统计;总的来说,高并发小数据量的场景比较适合node。

不可否认node概念新颖,初期尤其对前端工程师吸引力巨大,因为不需要花费太大代价就能实现浏览器之外的相当丰富的功能;从 NPM Registry 也能看出来,早期的项目以前端为主。

node发展飞快,随着node名声鹊起,也吸引了更多非前端程序员的加入,我们看到了诸如关系数据库、no-sql、MVC framework 等类型更为丰富的模块出现了。

node发展过程获得了node社区的大力支持,从 NPM Registry 站点的火热程度可见一斑;截止2012-11-17已有17700+模块,目前仍然在持续增长中(后续会专门介绍NPM)。

这些因素一起推动了node在数年内就风靡全球。

“磨刀不误砍柴功”

Node资源

现在 安装node 变得很简单,支持多个平台;

API文档: 官方   第三方 NPM

入门书籍,好书不在多

《 NodeJs Beginner 》 中文版 ,开源node教程;实现了一个完整精悍的Web应用,包含:server、router、handler 《 Node for Front End Developers 》,简练而较全面地介绍了node的网络、数据、MVC等方面的原生技术和第三方模块

更多的资源可以访问 nodejs.org

Git & Github

进入node的世界,git成了最常见的源码管理工具;希望多了解git,可以参考开源git教程《 ProGit 》。

github是目前最火的git远程库托管中心;github制作之精良、热度之高只有亲身体会一下才能了解;目前github上前端项目总量排名第一 。

IDE

Sublime、Notepad++、EditPlus、Ultra Editor都行;个人觉得WebStorm实在强悍,值得一试。

之后的安排

希望在开始介绍代码之前能让大家看到一个活的node,一个真正改变我们技术生活的node;所以首先介绍NPM,简介+所有模块分类+热门模块介绍;之后可能有:

node开发环境 node api结构剖析 动手开发一个模块 connect & express简介 connect源码分析 express源码分析 grunt …

暂时想到这些。

 

分类:  Node

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于Node.js[0] 简介的详细内容...

  阅读:43次