JavaScript是一个强大面向对象语言,它有很多快速高效的解释器。
官方JavaScript标准定义的API是为了构建基于浏览器的应用程序。
然而,并没有定于一个用于更广泛的应用程序的标准库。
CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。
它的终极目标是提供一个类似Python,Ruby和Java标准库。
这样的话,可以使用CommonJS API编写应用程序,可以运行在不同JS解释器和不同的主机环境中。
在兼容CommonJS的系统中,你可以实用JavaScript程序开发:
服务器端JavaScript应用程序
命令行工具
图形界面应用程序
混合应用程序(如,Titanium或Adobe AIR)
NodeJS和CommonJS之间的关系
CommonJS是一种规范,NodeJS是这种规范的实现。
CommonJS是一 个不断发展的规范,计划将要包括如下部分:
Binary strings and buffers
Charset encodings
Binary, buffered, and textual input and output (io) streams
System process arguments, environment, and streams
File system interface
Socket streams
Unit test assertions, running, and reporting
Web server gateway interface, JSGI
Local and remote packages and package management
具体每个子规范的定制进度请查看官方网站的说明:http://commonjs.org/specs/
CommonJS有很多实现,其中不乏很多大名鼎鼎的项目,比如 说:Apache的CouchDB和node.js等。
但这些项目大 部分只实现了CommonJS的部分规范。
具体的项目和实现部分参见官方网站的说明:http://commonjs.org/impl/