CommonJS
![]() | Wikipediaのcommon.jsなどのJavaScriptについては「Wikipedia:カスタムJS」または「プロジェクト:ウィキ技術部/共通スクリプト」を参照 |
CommonJSとは、サーバーサイドなどのウェブブラウザ環境外におけるJavaScriptの各種仕様を定めることを目標としたプロジェクトである。
歴史
CommonJSプロジェクトは元々、2009年1月にMozillaのエンジニアKevin Dangoorにより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] |
2009年8月、プロジェクトはより広い範囲のAPIを対象とすることを示すために、現在のCommonJSへと改名された[2]。仕様の作成と採用はオープンプロセスで進められた。仕様は複数の実装が完了した後、最終的に確定とされた[3]CommonJSはECMAScriptの仕様を定めるEcmaインターナショナルのTC39グループとは直接関係はないが、TC39のメンバーの一部はCommonJSプロジェクトに参加している。[4]。
2013年5月、Node.jsのパッケージマネージャーnpmの作者であるIsaac Z. Schlueterは、CommonJSはNode.jsにとって時代遅れになりつつあり、Node.jsの主要開発者はCommonJSから離れていると語った[5]。
仕様
CommonJSで定められた仕様としては以下のようなものがある[6] なおModuleとPromiseについては、後に2015年のECMAScript 6で標準規格が定められている。[※ 1]。
現行
- Modules/1.0 (Modules/1.1で廃止)
- Modules/1.1
- Modules/1.1.1
- Packages/1.0
- Promises/B
- Promises/C
- System/1.0
提案
- 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
実装
- Akshell[7]
- Common Node[8]
- CommonJS Compiler - ブラウザ環境でCommon JSモジュールを使うためのコマンドラインツール[9]
- CommonJS for PHP - PHP 5.3以降用の軽量CommonJS実装[10]
- CouchDB[11]
- Flusspferd[12]
- GPSEE[13]
- Jetpack(英語版)
- Joyent Smart Platform[14]
- JSBuild[15]
- MongoDB[16]
- Narwhal[17]
- Node.js[18]
- Persevere[19]
- PINF JavaScript Loader[20]
- RingoJS[21]
- SilkJS[22]
- SproutCore(英語版)[23]
- TeaJS[24]
- Wakanda(英語版)[25]
- XULJet(英語版)[26]
注釈
- ^ CommonJSの仕様に近いが、CommonJSがそのまま採用されたわけではない。
出典
- ^ a b 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
- ^ “Forget CommonJS. It's dead. **We are server side JavaScript.**”. GitHub (25 Mar 2013). 2016年6月20日閲覧。
- ^ “JavaScript Standard Library”. CommonJS. 2012年9月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
関連項目
外部リンク
- CommonJS: JavaScript Standard Library 公式ウェブサイト(英語)
- SlideShare - CommonJSの話
| |
---|---|
概念 |
|
エンジン | |
コンパイラ | |
デバッガ | |
エディタ | |
サーバーサイド |
|
フレームワーク・ライブラリ | |
ユニットテスト |
|
Docジェネレータ | |
コード解析 | |
パッケージ管理 |
|
アプリケーションバンドラー | |
関連技術 | |
人物 | |
|
| |||||||
---|---|---|---|---|---|---|---|
方言 |
| ||||||
エンジン(英語版) | |||||||
フレームワーク ・ライブラリ |
| ||||||
人物 | |||||||
その他 |
- 表示
- 編集