试读《Node.js开发指南》

1.Node .js是什么?

Node.js是一种新兴的开源技术,它将JavaScript从Web浏览器移植到常规的服务器端,使用Chrome的V8虚拟机来解释和执行JavaScript代码,能用于构建高性能、高可扩展的服务器和客户端应用,以实现真正“实时的Web应用”。

Node.js 不是一种独立的语言,与 PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。Node.js 也不是一个 JavaScript 框架,不同于 CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为脚本语言世界的一等公民,在服务端堪与 PHP、Python、Perl、Ruby 平起平坐。Node.js 是一个划时代的技术,它在原有的 Web 前端和后端技术的基础上总结并提炼出了许多新的概念和方法,堪称是十多年来 Web 开发经验的集大成者。Node.js 可以作为服务器向用户提供服务,与 PHP、Python、Ruby on Rails 相比,它跳过了 Apache、Nginx 等 HTTP服务器,直接面向前端开发。Node.js 的许多设计理念与经典架构(如 LAMP)有着很大的不同,可提供强大的伸缩能力,以适应21世纪10年代以后规模越来越庞大的互联网环境。

2.Node.js能做什么?

正如 JavaScript 为客户端而生,Node.js 为网络而生。Node.js 能做的远不止开发一个网站那么简单,使用 Node.js,你可以轻松地开发:

具有复杂逻辑的网站;

基于社交网络的大规模 Web 应用;

Web Socket 服务器;

TCP/UDP 套接字应用程序;

命令行工具;

交互式终端程序;

带有图形用户界面的本地应用程序;

单元测试工具;

客户端 JavaScript 编译器。

Node.js内建了HTTP服务器支持,也就是说你可以轻而易举地实现一个网站和服务器的组合。这和PHP、Perl不一样,因为在使用PHP的时候,必须先搭建一个Apache之类的HTTP服务器,然后通过HTTP服务器的模块加载或CGI调用,才能将PHP脚本的执行结果呈现给用户。而当你使用Node.js时,不用额外搭建一个HTTP服务器,因为Node.js本身就内建了一个。这个服务器不仅可以用来调试代码,而且它本身就可以部署到产品环境,它的性能足以满足要求。

Node.js 还可以部署到非网络应用的环境下,比如一个命令行工具。Node.js 还可以调用C/C++ 的代码,这样可以充分利用已有的诸多函数库,也可以将对性能要求非常高的部分用C/C++ 来实现。

相关推荐