CommonJS
CommonJS is a project with the goal of specifying an ecosystem for JavaScript outside the browser (for example, on the server or for native desktop applications).
History
The project was started by Mozilla engineer Kevin Dangoor in January 2009 and initially named ServerJS.[1]
“ | What I’m describing here is not a technical problem. It’s a matter of people getting together and making a decision to step forward and start building up something bigger and cooler together. | ” | |
— Kevin Dangoor[1] |
In August 2009, the project was renamed CommonJS to show the broader applicability of the APIs.[2] Specifications are created and approved in an open process. A specification is only considered final after it has been finished by multiple implementations.[3] CommonJS is not affiliated with the Ecma International group TC39 working on ECMAScript, but some members of TC39 participate in the project.[4]
In May 2013, Isaac Z. Schlueter, the author of npm, the package manager for Node.js, said CommonJS is being made obsolete by Node.js, and is avoided by the core Node.js developers.[5]
Specifications
The list of specifications includes:[6]
Current
- Modules/1.0 (Superseded by Modules/1.1)
- Modules/1.1
- Modules/1.1.1
- Packages/1.0
- Promises/B
- Promises/C
- System/1.0
Proposals
- Binary/B
- Binary/F
- Console
- Encodings/A
- Filesystem/A
- Filesystem/A/0
- Modules/Async/A
- Modules/Transport/B
- Packages/1.1
- Packages/Mappings
- Unit Testing/1.0
Implementations
- Akshell[7]
- Common Node[8]
- CommonJS Compiler - a command-line tool that makes Common JS modules suitable for in-browser use[9]
- CommonJS for PHP - a light-weight CommonJS implementation for PHP 5.3+[10]
- CouchDB[11]
- Flusspferd[12]
- GPSEE[13]
- Jetpack
- Joyent Smart Platform[14]
- JSBuild[15]
- MongoDB[16]
- Narwhal (JavaScript platform)[17]
- node.js[18]
- Persevere[19]
- PINF JavaScript Loader[20]
- RingoJS[21]
- SilkJS[22]
- SproutCore[23]
- TeaJS[24]
- Wakanda[25]
- XULJet[26]
See also
- Comparison of server-side JavaScript solutions
- Document Object Model (DOM), a web browser client-side application programming interface (API) commonly available in JavaScript
- JSGI
References
- 1 2 What Server Side JavaScript needs - Blue Sky On Mars
- ↑ CommonJS: JavaScript Standard Library
- ↑ ProposalProcess - CommonJS Spec Wiki
- ↑ CommonJS: the First Year - Blue Sky On Mars
- ↑ Schlueter, Isaac Z. (25 Mar 2013). "Forget CommonJS. It's dead. **We are server side JavaScript.**". GitHub.
- ↑ "JavaScript Standard Library". CommonJS. Retrieved 2012-09-21.
- ↑ Server-side JavaScript development and hosting - Akshell
- ↑ olegp/common-node @ GitHub
- ↑ - GitHub
- ↑ DrBenton/CommonJSForPHP - GitHub
- ↑ Implementations/CouchDB - CommonJS Spec Wiki
- ↑ Flusspferd - CommonJS platform | Javascript bindings for C
- ↑ Implementations/GPSEE - CommonJS Spec Wiki
- ↑ Implementations/Smart - CommonJS Spec Wiki
- ↑ Homepage - JSBuild
- ↑ MongoDB
- ↑ Implementations/Narwhal - CommonJS Spec Wiki
- ↑ Implementations/node.js - CommonJS Spec Wiki
- ↑ Implementations/Persevere - CommonJS Spec Wiki
- ↑ pinf/loader-js - GitHub
- ↑ Implementations/RingoJS - CommonJS Spec Wiki
- ↑ SilkJS WWW Site
- ↑ Implementations/SproutCore - CommonJS Spec Wiki
- ↑ Implementations/TeaJS - CommonJS Spec Wiki
- ↑ Wakanda
- ↑ xuljet - XUL JavaScript Enhanced Toolkit - Google Project Hosting
External links
- Official website
- CommonJS effort sets JavaScript on path for world domination (article on Ars Technica)