Difference between revisions of "CommonJS"
From CommonJS Spec Wiki
(→Implementations: Ondrej Zara has username Ondras) |
Tlrobinson (Talk | contribs) (→Implementations) |
||
| Line 76: | Line 76: | ||
! [[Encodings/A]] | ! [[Encodings/A]] | ||
|- | |- | ||
| − | | [http://github.com/tlrobinson/narwhal Narwhal] [[User: | + | | [http://github.com/tlrobinson/narwhal Narwhal] [[User:tlrobinson]] |
| Rhino, V8, JSC | | Rhino, V8, JSC | ||
| 0.1 | | 0.1 | ||
Revision as of 01:12, 2 February 2010
Welcome to CommonJS, a group with a goal of building up the JavaScript ecosystem for web servers, desktop and command line apps and in the browser.
This wiki is a starting point for collecting up ideas, links and any draft API suggestions for the CommonJS group. Discussions occur on that mailing list and on IRC (#commonjs on freenode).
Contents
Meta
Current Efforts
This is a list of issues currently being discussed / standardized. They come from the "Low level" department, as we need to have a solid basics prior to building a tower.
- Uniform Baseline / Globals (discussion)
- Modules (1.1 ratified)
-
binary: Binary Data Objects (byte arrays and/or strings) (proposals, discussion, early implementations) -
encodings: Encodings and character sets (proposals, discussion, early implementations) -
io: I/O Streams (proposals, discussion) -
fs,fs-base: Filesystem (proposals, discussion, early implementations) -
system: System Interface (stdin, stdout, stderr, &c) (1.0 ratified, amendments proposed) -
assert,test: Unit Testing (1.0 ratified, amendment proposals pending) -
sockets: Socket I/O TCP/IP sockets (early proposals) -
event-queue: Reactor Reactor/Event Queue (early proposals) -
worker: Worker Worker (concurrent shared nothing process/thread) (proposal)
-
- Packages (1.0 ratified)
- Web Server Gateway Interface (JSGI) (proposals, discussion, early implementations)
- Promises (proposal)
Future Efforts
Low-level APIs
This is the collection of APIs that we'd like to see behaving consistently across JavaScript interpreters.
- Language and Runtime Services
- Logging
- Relational database interface
- ResultSets (collections of data maybe from RDBMS, maybe from other sources)
- Concurrency
- String / ByteString I/O
- C unified API to our Target Platforms
High-level APIs
This is the collection of APIs that implement common functionality on top of the low-level API.
Implementations
| Standards | Proposals | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Implementation | Embedding and Engine | Modules/1.0 | Modules/1.1 | System/1.0 | Packages/1.0 | Unit_Testing/1.0 | Filesystem/A | Filesystem/A/0 | Binary/B | Encodings/A |
| Narwhal User:tlrobinson | Rhino, V8, JSC | 0.1 | 0.2 | 0.2 | 0.2 | draft 4, 0.1 | 0.3- | 0.2 | ||
| Flusspferd Ash Berlin, Aristid Breitkreuz | Spidermonkey/C++ | yes | ? | yes | yes | yes | yes | yes | ||
| Helma NG User:HannesWalnöffer | Rhino | yes | yes | ? | ? | yes | ||||
| v8cgi Ondrej Zara | v8 | yes | ? | ? | ? | |||||
| GPSEE User:WesGarland | Spidermonkey/C | yes | ? | ? | ? | ? | yes | yes | ||
| Chiron User:KrisKowal | web browsers | yes | ||||||||
| Persevere User:KrisZyp | Rhino | yes | ? | |||||||
| node.js User:RyanDahl | v8 | yes | yes | |||||||
| SproutCore 1.1/Tiki User:CharlesJolley | web browsers | yes | ? | yes | yes | |||||
In development:
- mob is implementing SecurableModules in Ejscript http://www.ejscript.org
- pmuellr posted a sample loader for SecurableModules: http://wiki.github.com/pmuellr/modjewel
- atul varma has a SecurableModule implementation for Python/Spidermonkey: http://hg.toolness.com/pydertron/raw-file/tip/docs.html
- Alexandre is implementing Modules 1.1 in Wakanda (SquirrelFish) http://www.wakandasoftware.com
Tests
- CommonJS tests compatible with this test framework.