您的位置:首页 > Web前端 > Node.js

Node.js是什么

2014-03-11 14:00 211 查看
Node.js 是什么

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年代以后规模越来越庞大的互联网环境。
Node.js 与JavaScript
说起JavaScript,不得不让人想到浏览器。传统意义上,JavaScript 是由ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成的,而Mozilla 则指出JavaScript 由Core JavaScript 和Client JavaScript 组成。之所以会有这种分歧,是因为JavaScript 和浏览器之间复杂的历史渊源,以及其命途多舛的发展历程所共同造成的,我们会在后面详述。我们可以认为,Node.js
中所谓的JavaScript 只是Core JavaScript,或者说是ECMAScript 的一个实现,不包含DOM、BOM 或者Client JavaScript。这是因为Node.js 不运行在浏览器中,所以不需要使用浏览器中的许多特性。
Node.js 是一个让JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统API、网络通信等Core JavaScript 没有或者不完善的功能。历史上将JavaScript 移植到浏览器外的计划不止一个,但Node.js 是最出色的一个。随着Node.js 的成功,各种浏览器外的JavaScript 实现逐步兴起,因此产生了CommonJS
规范。CommonJS 试图拟定一套完整的JavaScript 规范,以弥补普通应用程序所需的 API,譬如文件系统访问、命令行、模块管理、函数库集成等功能。CommonJS 制定者希望众多服务端JavaScript 实现遵循CommonJS 规范,以便相互兼容和代码复用。Node.js 的部份实现遵循了CommonJS规范,但由于两者还都处于诞生之初的快速变化期,也会有不一致的地方。
Node.js 的JavaScript 引擎是V8,来自Google Chrome 项目。V8 号称是目前世界上最快的JavaScript 引擎,经历了数次引擎**,它的JIT(Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。Node.js 不运行在浏览器中,所以也就不存在JavaScript 的浏览器兼容性问题,你可以放心地使用JavaScript
语言的所有特性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  node.js