关注前端开发微信微信号web007007

Node.js 究竟是什么

作者 管理员 发布时间 2012-06-08 14:29 文章分类 JavaScript 文章评论 抢沙发 阅读次数

关于Node.js的传言早已甚嚣尘上。那么Node.js到底是什么呢?为什么你应当关心它呢(这可不是我一个人说的哦!)?

读写网为此特地与JavaScript开发人员、LearnBoost的创始人和CTOGuillermo Rauch进行了一次聊天采访以披露一些深刻的见解。
到底Node.js是什么呢?

Rauch:Node.js是一个在浏览器外部创建互联网应用程序的框架。它使用谷歌开发的超快速JavaScript引擎V8。JavaScript的事件驱动特性使其自然而然地成为了编写服务器的上佳选择。你不仅仅可以从V8的运行速度上获益,Node.js/JavaScript规范还可以让你在根据设计来编写代码时更加迅捷。
读写网:为什么开发者需要关注这一技术呢?

首先,大部分的网站开发人员已经通过jQuery,MooTools或者类似的框架在浏览器上使用JavaScript。这意味着他们对Node.js已经十分熟悉,尽管其开发环境具有独特的风格和结构。

其次,归功于JavaScript的表现力和简明而强大的Node.js API,你可以轻松编写出那些通常无法实现或者太过于耗时的程序。入门的程序就是编写一个你自己的HTTP服务器。

而最后,你不会感到孤独。Node.js已经在GitHub上吸引了几千名开发人员的注意,而现在已经有几千个模块可以被直接引用。考虑一下它出现的时间,这是极其令人震惊的。我甚至认为它即将引发一场革命。
那么Node.js最大的好处是什么呢?

有好几个:

快速:V8虚拟机的支持令JavaScript的运行速度极快。

快速设计。我们如今编写的大部分应用程序都有严重的输入输出限制。而由于JavaScript的时间驱动特性(和节点扩展),你无论在其中编写什么都十分迅速。

单语言解决一切方案。如今,为了让用户体验更具吸引力和让应用程序更符合现代标准,任何系列的网络编程绝对都需要JavaScript编程(例如,Facebook或者新版的Twitter大部分的交互操作都依靠JavaScript驱动)。而该语言同时具备了编写后台服务器(不仅仅是网站后台)的能力是一件极为引人注目的事情。

完美适应实时网站。因为你可以控制网站服务器,Node.js对实时网站的适应程度是独一无二的。
那么它的缺点呢?你对那些针对Node.js的批判有什么回应吗?

该框架依然有待完善。最近,Ryan(Node.js的原作者Ryan Dahl)在JSConf.eu上提出了Node.js现有的九大挑战。例如,我们的LearnBoost网站需要通过卸载SSL支持的方式来运行,因为Node.js核心对于SSL的支持依然不够完整。如今,你必须在清楚地了解你的需求的情况下使用Node.js这款产品。

这是目前我所看到的唯一问题。在此只外,还是有人们武断地批评它,他们质疑事件驱动编程对于编写服务器不够高效,或者他们指出使用回调(Node.js的核心建立在这种编程方式上)进行编程会造成问题。
那么你们在建立LearnBoost的过程中它起了很好的作用吗?

LearnBoost致力于通过网页技术来提供革命性教育。我们力图营造目前独一无二的快速用户体验。我们要让教师、学生和家长可以在网上实时进行互动。我们需要不断地让其速度快于其他网站。Node.js是实现这一目标的完美环境。

因此,我们开发了Socket.IO实施框架、Mongo ORM Mongoose、自动云测试框架Soda,同时我们继续保持使用Express这个最流行的网站框架。

本文固定链接: http://www.web92.net/352.html | WEB前端开发

该日志由 于2012年06月08日发表在 JavaScript 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Node.js 究竟是什么 | WEB前端开发
关键字: