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

为什么需要node.js

科普文一则,说说我对NodeJS(一种服务端JavaScript实现)的一些认识,以及我为什么会向后端工程师推荐NodeJS.?

????????"Node.js 是服务器端的 JavaScript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,Node.js 采用?V8?引擎,同样,Node.js 实现了类似?Apache?和?nginx?的web服务,让你可以通过它来搭建基于 JavaScript 的 Web App。"?

??????? 上周末参与了CNodeJS社区的第一次北京聚会,现场气氛非常的好.而作为一名前端开发,我在后面的讨论环节讲了下我对NodeJS的看法,主要回答的问题是"我为什么会向后端工程师推荐NodeJS".这其实是去年年底大团队技术总结的话题之一,包含在我之前发过的PPT:团队年终技术Review中.因为之前没有准备,当天仓促上阵,也不知道说清楚了没,不如就在这里再详细展开记录下.?

??????? 我想不仅仅是NodeJS,当我们要引入任何一种新技术前都必须要搞清楚几个问题:?
??????? 1.我们遇到了什么问题??
??????? 2.这项新技术解决什么问题,是否契合我们遇到的问题??
??????? 3.我们遇到问题的多种解决方案中,当前这项新技术的优势体现在哪儿??
??????? 4.使用新技术,带来哪些新问题,严重么,我们能否解决掉??

我们的问题:Server端阻塞?
??????? NodeJS被设计用来解决服务端阻塞问题.通过一段简单的代码解释何为阻塞:?

Js代码??收藏代码
  1. //根据ID,在数据库中Persons表中查出Name??
  2. var?name?=?db.query("select?name?from?persons?where?id=1");??
  3. //进程等待数据查询完毕,然后使用查询结果.??
  4. output("name")??