Node.js 学习笔记(二)

node 特征

1.单进程

  我们写的js代码是在单进程环境中执行的,但node本身并不是单线程。比如I/O操作等异步操作是node封装好的 (底层代码应该是c++?)

但这也给node带来了麻烦 我后面会说到。

2.v8

  google的大神们所开发的js开源引擎,chrome和最新的火狐用的都是V8引擎。执行速度非常快。

node也使用的v8所以在代码的执行效率上非常快。

3.异步 无阻塞

  node的卖点 数据库和/io操作异步无阻塞大大提高了服务器的性能。

 

我们为什么要使用node

  一个事物的存在一定有其意义,当哪天这个意义不存在这个事物也就可以消失了。

上面的特征中除了v8 其余的特性在c#和其他一些语言中都是存在的。那么node存在的意义是什么呢?为什么这么火?

 

1.前后台统一语言

前端呈现 js html css

后台 js

数据库 js

 

只需要懂一种语言 一个web项目就可以搞定了。。。。

 

2.性能

(1)Node的无阻塞,异步提高了服务器的性能。

(2)json

  json 是js的一个子集 如果项目中使用json来表示数据对象

那么会大大减少转换损耗的性能。

3.学习

  Web 无疑是未来的趋势。作为web中举足轻重的脚本语言,为什么不学习下呢。

 

什么时候使用

 

适合使用的场景

  • 1.多Ajax多请求的大型应用比如谷歌邮箱之类
  • 2. JSON APIs——构建一个Rest/JSON API服务,Node.js可以充分发挥其非阻塞IO模型以及JavaScript对JSON的功能支持(如JSON.stringfy函数)

 

不适合

  • CPU使用率较重、IO使用率较轻的应用——如视频编码、人工智能等,Node.js的优势无法发挥
  • 简单Web应用——此类应用的特点是,流量低、物理架构简单
  • 学习 如果仅仅是为了追求时髦,且自己对这两门技术还未深入理解的情况下,不要冒险将业务系统搭建在这两个漂亮的名词上,建议使用MySQL之类的传统数据库

 

 

推荐学习的网站

http://cnodejs.org

http://www.csser.com/

 

推荐学习js的书

http://book.douban.com/subject/6397064/

http://book.douban.com/subject/3590768/

posted @ 2012-09-19 16:58  codeyuyu  阅读(334)  评论(1编辑  收藏  举报