CommonJS
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
CommonJS는 2009년 1월 모질라 엔지니어 Kevin Dangoor에 의해 ServerJS라는 이름으로 시작된 프로젝트로, API의 더 넓은 적용 가능성을 보여주기 위해 CommonJS로 이름이 변경되었다. CommonJS는 웹이 아닌 자바스크립트 구현에 유용하고 상호 운용성을 제공하기 위해 표준화된 패키지 이름을 가진 API 집합을 정의하는 것을 목표로 한다. CommonJS는 Modules, Packages, Promises, System 등의 사양을 정의하며, Node.js, CouchDB, MongoDB 등 다양한 구현체를 가지고 있다. 2013년에는 Node.js의 패키지 관리자 npm의 개발자가 CommonJS가 Node.js에 의해 퇴색되었다고 언급했다.
더 읽어볼만한 페이지
- 자바스크립트 - HTML
HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다. - 자바스크립트 - 비주얼 스튜디오
비주얼 스튜디오는 마이크로소프트가 개발한 통합 개발 환경(IDE)으로, 다양한 프로그래밍 언어와 플랫폼을 지원하며 소프트웨어 개발에 필요한 도구와 기능을 제공한다. - 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다. - 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
CommonJS |
---|
2. 역사
CommonJS 프로젝트는 2009년 1월 모질라의 엔지니어 케빈 댕고어(Kevin Dangoor)에 의해 '''ServerJS'''라는 이름으로 시작되었다.[55] 2009년 8월, API의 더 넓은 적용 가능성을 보여주기 위해 현재의 CommonJS로 이름이 변경되었다.[56] CommonJS 사양은 개방된 프로세스로 만들어져 승인되며, 여러 구현체에 의해 완료된 이후에만 최종(final)으로 간주된다.[57] CommonJS는 ECMA스크립트를 작업하는 Ecma 인터내셔널 그룹 TC39와 직접적인 연관은 없지만, TC39의 일부 구성원들이 이 프로젝트에 참여하고 있다.[58]
2013년 5월, Node.js의 패키지 관리자 npm의 개발자 아이작 Z. 슐루터(Isaac Z. Schlueter)는 CommonJS가 Node.js에 의해 퇴색되었으며 핵심 Node.js 개발자들에 의해 사용이 회피되고 있다고 언급하였다.[59]
2. 1. ServerJS에서 CommonJS로
이 프로젝트는 2009년 1월 모질라의 엔지니어 케빈 댕고어(Kevin Dangoor)에 의해 시작되었으며, 처음 이름은 '''ServerJS'''였다.[55]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.|내가 여기서 설명하려는 것은 기술적인 문제가 아니다. 이것은 사람들이 함께 모여 앞으로 나아가 더 크고 멋진 것을 함께 구축하기로 결정하는 문제이다.영어
2009년 8월, 이 프로젝트는 API의 더 넓은 적용 가능성을 보여주기 위해 CommonJS로 이름이 변경되었다.[56] 사양은 개방된 프로세스로 만들어져 승인된다. 사양은 여러 구현체에 의해 완료된 이후에만 최종(final)으로 간주된다.[57] CommonJS는 ECMA스크립트를 작업하는 Ecma 인터내셔널 그룹 TC39와 연계하지 않으나, TC39의 일부 구성원들은 이 프로젝트에 참여하고 있다.[58]
2. 2. 표준화 과정
이 프로젝트는 2009년 1월 모질라의 엔지니어 케빈 댕거(Kevin Dangoor)에 의해 시작되었으며, 처음 이름은 '''ServerJS'''였다.[55] 2009년 8월, 이 프로젝트의 이름은 API의 더 넓은 적용 가능성을 보여주기 위해 CommonJS로 변경되었다.[56] 사양은 개방된 프로세스로 만들어져 승인된다. 사양은 여러 구현체에 의해 완료된 이후에만 최종(final)으로 간주된다.[57] CommonJS는 ECMA스크립트를 작업하는 Ecma 인터내셔널 그룹 TC39와 연계하지 않고 있으나, TC39의 일부 구성원들은 이 프로젝트에 참여하고 있다.[58]2013년 5월, Node.js의 패키지 관리자 npm의 개발자 아이작 슐루터(Isaac Z. Schlueter)는 CommonJS가 Node.js에 의해 퇴색되었으며 핵심 Node.js 개발자들에 의해 사용이 회피되고 있다고 언급하였다.[59]
2. 3. Node.js와의 관계
2013년 5월, Node.js의 패키지 관리자 npm의 개발자인 아이작 Z. 슐루터(Isaac Z. Schlueter)는 CommonJS가 Node.js에 의해 퇴색되었으며 핵심 Node.js 개발자들에 의해 사용이 회피되고 있다고 언급하였다.[59]3. 사양
CommonJS에서 정의된 사양으로는 Module과 Promise 등이 있으며, 2015년 ECMAScript 6에서 표준 규격으로 정의되었다.[34]
3. 1. 현재 사양
규격 |
---|
Modules/1.0 (Modules/1.1에 의해 대체됨) |
Modules/1.1 |
Modules/1.1.1 |
Packages/1.0 |
Promises/B |
Promises/C |
System/1.0 |
(변경 사항 없음)
3. 2. 제안 사양
CommonJS 제안은 모듈보다 훨씬 더 많은 내용을 다룬다. 이들은 웹이 아닌 자바스크립트 구현에 유용하고, 생태계 내에서 상호 운용성을 제공하기 위해 표준화된 패키지 이름을 가진 API 집합을 정의하는 것을 목표로 한다. 이 목표는 때때로 TC39의 목표와 겹치며, Promises와 같은 부분은 실제로 ECMAScript 자체에 포함되었다.슬래시(/) 뒤의 부분은 버전이다. 제안이 경합 중일 때는 각 개별 제안(동일 저자의 순차적 수정본 포함)에 새로운 문자가 할당된다. 주요 방향이 알려지면 숫자 버전이 할당되기 시작한다.
4. 구현체
구현체 | 설명 |
---|---|
Akshell | [61] |
커먼 노드 (Common Node) | [62] |
커먼JS 컴파일러 (CommonJS Compiler) | 브라우저에서 사용하기에 적합한 커먼 JS 모듈을 만드는 명령줄 도구[63] |
PHP용 커먼JS (CommonJS for PHP) | PHP 5.3+용 경량 커먼JS 구현[64] |
카우치DB | [65] |
플루스페르트 (Flusspferd) | [66] |
GPSEE | [67] |
젯팩 | [68] |
조이언트 스마트 플랫폼 (Joyent Smart Platform) | [68] |
JS빌드 (JSBuild) | [69] |
몽고DB | [70] |
나르왈 (Narwhal) (자바스크립트 플랫폼) | [71] |
Node.js | [72] |
퍼시비어 (Persevere) | [73] |
PINF 자바스크립트 로더 (PINF JavaScript Loader) | [74] |
링고JS (RingoJS) | [75] |
실크JS (SilkJS) | [76] |
SproutCore | [77] |
티JS (TeaJS) | [78] |
Wakanda | [79] |
XULJet | [80] |
파이썬몽키(PythonMonkey) | 자바스크립트 또는 파이썬(또는 둘 다)으로 작성된 모듈을 로드할 수 있는 CommonJS Modules/1.1.1 환경을 구현 |
QUnit |
참조
[1]
서적
Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries
https://books.google[...]
"O'Reilly Media, Inc."
2014-06-26
[2]
서적
Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition
https://books.google[...]
Packt Publishing
2020-07-29
[3]
웹사이트
What Server Side JavaScript needs ·
https://www.blueskyo[...]
2021-08-05
[4]
웹사이트
CommonJS: JavaScript Standard Library
http://www.commonjs.[...]
2021-08-05
[5]
웹사이트
ProposalProcess - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[6]
웹사이트
CommonJS: the First Year ·
https://www.blueskyo[...]
2021-08-05
[7]
웹사이트
JavaScript Standard Library
http://commonjs.org/[...]
CommonJS
2014-05-28
[8]
웹사이트
olegp/common-node @ GitHub
https://olegp.github[...]
2021-08-05
[9]
웹사이트
CommonJS Compiler - makes your Common JS modules suitable for in-browser use
https://dsheiko.gith[...]
2021-08-05
[10]
웹사이트
GitHub - DrBenton/CommonJSForPHP: A simple CommonJS spec implementation for PHP 5.3+.
https://github.com/D[...]
2021-08-05
[11]
웹사이트
Implementations/CouchDB - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[12]
웹사이트
Flusspferd - CommonJS platform | Javascript bindings for C
https://flusspferd.g[...]
2017-09-19
[13]
웹사이트
Implementations/GPSEE - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[14]
웹사이트
Implementations/Smart - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[15]
웹사이트
Homepage - JSBuild
http://jsbuild.kodfa[...]
[16]
웹사이트
The most popular database for modern apps
https://www.mongodb.[...]
2021-08-05
[17]
웹사이트
Implementations/Narwhal - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[18]
웹사이트
Implementations/node.js - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[19]
웹사이트
Implementations/Persevere - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[20]
웹사이트
GitHub - pinf/loader-js: EARLY STALLED EXPLORATION
https://github.com/p[...]
2021-07-30
[21]
웹사이트
Distributive-Network/PythonMonkey: A Mozilla SpiderMonkey JavaScript engine embedded into the Python VM, using the Python engine to provide the JS host environment.
https://github.com/D[...]
2023-07-10
[22]
웹사이트
Implementations/RingoJS - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[23]
웹사이트
SilkJS WWW Site
http://silkjs.net/
2012-10-19
[24]
웹사이트
Implementations/SproutCore - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[25]
웹사이트
Implementations/TeaJS - CommonJS Spec Wiki
http://wiki.commonjs[...]
2021-08-05
[26]
웹사이트
Wakanda FullStack JavaScript Platform
https://wakanda.gith[...]
2021-08-05
[27]
웹사이트
Google Code Archive - Long-term storage for Google Code Project Hosting.
https://code.google.[...]
2021-08-05
[28]
웹사이트
What Server Side JavaScript needs - Blue Sky On Mars
http://www.blueskyon[...]
[29]
웹사이트
CommonJS: JavaScript Standard Library
http://commonjs.org/[...]
[30]
웹사이트
ProposalProcess - CommonJS Spec Wiki
http://wiki.commonjs[...]
[31]
웹사이트
CommonJS: the First Year - Blue Sky On Mars
http://www.blueskyon[...]
[32]
웹사이트
Forget CommonJS. It's dead. **We are server side JavaScript.**
https://github.com/j[...]
2013-03-25
[33]
웹사이트
JavaScript Standard Library
http://commonjs.org/[...]
CommonJS
[34]
문서
CommonJS의 사양에 가깝지만, CommonJS가 그대로 채용된 것은 아니다.
[35]
웹사이트
Server-side JavaScript development and hosting - Akshell
http://www.akshell.c[...]
[36]
웹사이트
olegp/common-node @ GitHub
http://olegp.github.[...]
[37]
웹사이트
- GitHub
http://dsheiko.githu[...]
[38]
웹사이트
DrBenton/CommonJSForPHP - GitHub
https://github.com/D[...]
[39]
웹사이트
Implementations/CouchDB - CommonJS Spec Wiki
http://wiki.commonjs[...]
[40]
웹사이트
Flusspferd - CommonJS platform | Javascript bindings for C
http://flusspferd.gi[...]
[41]
웹사이트
Implementations/GPSEE - CommonJS Spec Wiki
http://wiki.commonjs[...]
[42]
웹사이트
Implementations/Smart - CommonJS Spec Wiki
http://wiki.commonjs[...]
[43]
웹사이트
Homepage - JSBuild
http://jsbuild.kodfa[...]
[44]
웹사이트
MongoDB
http://www.mongodb.o[...]
[45]
웹사이트
Implementations/Narwhal - CommonJS Spec Wiki
http://wiki.commonjs[...]
[46]
웹사이트
Implementations/node.js - CommonJS Spec Wiki
http://wiki.commonjs[...]
[47]
웹사이트
Implementations/Persevere - CommonJS Spec Wiki
http://wiki.commonjs[...]
[48]
웹사이트
pinf/loader-js - GitHub
https://github.com/p[...]
[49]
웹사이트
Implementations/RingoJS - CommonJS Spec Wiki
http://wiki.commonjs[...]
[50]
웹사이트
SilkJS WWW Site
http://silkjs.net/
[51]
웹사이트
Implementations/SproutCore - CommonJS Spec Wiki
http://wiki.commonjs[...]
[52]
웹사이트
Implementations/TeaJS - CommonJS Spec Wiki
http://wiki.commonjs[...]
[53]
웹사이트
Wakanda
http://wakanda.org/
[54]
웹사이트
xuljet - XUL JavaScript Enhanced Toolkit - Google Project Hosting
https://code.google.[...]
[55]
웹사이트
What Server Side JavaScript needs - Blue Sky On Mars
http://www.blueskyon[...]
[56]
웹인용
CommonJS: JavaScript Standard Library
http://commonjs.org/[...]
2019-04-19
[57]
웹사이트
ProposalProcess - CommonJS Spec Wiki
http://wiki.commonjs[...]
[58]
웹사이트
CommonJS: the First Year - Blue Sky On Mars
http://www.blueskyon[...]
[59]
웹인용
Forget CommonJS. It's dead. **We are server side JavaScript.**
https://github.com/j[...]
2013-03-25
[60]
웹인용
JavaScript Standard Library
http://commonjs.org/[...]
CommonJS
2012-09-21
[61]
웹사이트
Server-side JavaScript development and hosting - Akshell
http://www.akshell.c[...]
[62]
웹인용
olegp/common-node @ GitHub
https://olegp.github[...]
2019-04-19
[63]
웹사이트
- GitHub
https://dsheiko.gith[...]
[64]
웹사이트
DrBenton/CommonJSForPHP - GitHub
https://github.com/D[...]
[65]
웹사이트
Implementations/CouchDB - CommonJS Spec Wiki
http://wiki.commonjs[...]
[66]
웹인용
Flusspferd - CommonJS platform {{!}} Javascript bindings for C
https://flusspferd.g[...]
2019-04-19
[67]
웹사이트
Implementations/GPSEE - CommonJS Spec Wiki
http://wiki.commonjs[...]
[68]
웹사이트
Implementations/Smart - CommonJS Spec Wiki
http://wiki.commonjs[...]
[69]
웹사이트
Homepage - JSBuild
http://jsbuild.kodfa[...]
2011-01-04
[70]
웹사이트
MongoDB
http://www.mongodb.o[...]
[71]
웹사이트
Implementations/Narwhal - CommonJS Spec Wiki
http://wiki.commonjs[...]
[72]
웹사이트
Implementations/node.js - CommonJS Spec Wiki
http://wiki.commonjs[...]
[73]
웹사이트
Implementations/Persevere - CommonJS Spec Wiki
http://wiki.commonjs[...]
[74]
깃허브
pinf/loader-js - GitHub
https://github.com/p[...]
[75]
웹사이트
Implementations/RingoJS - CommonJS Spec Wiki
http://wiki.commonjs[...]
[76]
웹인용
SilkJS WWW Site
https://web.archive.[...]
2019-04-19
[77]
웹사이트
Implementations/SproutCore - CommonJS Spec Wiki
http://wiki.commonjs[...]
[78]
웹사이트
Implementations/TeaJS - CommonJS Spec Wiki
http://wiki.commonjs[...]
[79]
웹인용
Wakanda
http://wakanda.org/
2019-04-19
[80]
웹사이트
xuljet - XUL JavaScript Enhanced Toolkit - Google Project Hosting
http://code.google.c[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com