CommonJS
CommonJS était un projet dont l'objectif était d'établir des conventions sur l'écosystème de modules pour JavaScript en dehors du navigateur Web . La principale raison de sa création était le grand manque d'unités modulaires de scripts JavaScript d'une manière communément acceptée, qui pourraient être réutilisées dans des environnements autres que ceux fournis par un navigateur Web conventionnel, par exemple, un serveur Web ou des applications de bureau natives qui s'exécutent Scripts JavaScript.
CommonJS maintient les spécifications (y compris les brouillons) et une liste des implémentations sur un site MediaWiki . Toutes les activités d'édition ont cessé depuis novembre 2014, marquant la fin effective de sa vie. [ 1 ]
Historique
Le projet a été lancé par l'ingénieur Mozilla Kevin Dangoor en janvier 2009 et s'appelait initialement ServerJS. [ 2 ]
Ce que je décris ici n'est pas un problème technique. Il s'agit de gens qui se réunissent et prennent la décision d'intervenir et de commencer à construire ensemble quelque chose de plus grand et de plus cool.kevin dangoor
En août 2009, le projet a été renommé CommonJS pour montrer la plus grande applicabilité des API . [ 3 ] Les spécifications sont créées et approuvées dans le cadre d'un processus ouvert. Une spécification n'est considérée comme définitive que lorsqu'elle a été complétée par plusieurs implémentations [ 4 ] . CommonJS n'est pas affilié au groupe Ecma International TC39 qui travaille sur ECMAScript , mais certains membres du TC39 sont impliqués dans le projet. [ 5 ]
En mai 2013, Isaac Z. Schlueter, l'auteur de npm , le gestionnaire de packages pour Node.js , a déclaré que CommonJS est rendu obsolète par Node.js, désormais dominant, et est évité par les développeurs principaux de Node.js. [ 6 ]
Spécifications
La liste des spécifications comprend : [ 7 ]
- Modules/1.0 (Remplacé par Modules/1.1)
- Modules/1.1
- Modules/1.1.1
- Forfaits/1.0
- Système/1.0
Propositions
Les propositions couvrent bien plus que des modules. Ils visent à définir un ensemble d'API utiles pour les implémentations JavaScript non Web, avec des noms de packages standardisés pour assurer l'interopérabilité au sein de l'écosystème. Cet objectif chevauche parfois celui de TC39, et des parties comme Promises sont devenues ECMAScript lui-même.
La partie après la barre oblique est la version. Lorsqu'une proposition est contestée, chaque proposition individuelle (y compris les examens séquentiels par le même auteur) se voit attribuer une nouvelle lettre. Lorsque l'adresse principale est connue, des versions numériques commencent à lui être attribuées.
- Binaire/B,F
- Console (portée depuis le Web)
- Encodages/A,C
- Encodages/A
- Client HTTP/B
- E/S
- Système de fichiers/A,A/0
- Modules/Async/A
- Modules/Définition asynchrone
- Modules/LoaderPlug-in
- Modules/Ressources
- Modules/SimpleAsynchrone
- Modules/Transports/B,C,D,E
- Modules/Enveloppes
- Modules/Wrappings-Dépendances-Explicites
- forfaits/1.1
- Packages/Définition asynchrone
- Packages/Mappages/A,B,C,D
- Promesses/B,D
- Tests unitaires/B,1.0,1.0.1
Implémentations
- Akshell [ 8 ]
- Nœud commun [ 9 ]
- CommonJS Compiler - un outil de ligne de commande qui rend les modules Common JS adaptés à une utilisation dans le navigateur [ 10 ]
- CommonJS pour PHP - une implémentation légère de CommonJS pour PHP 5.3+ [ 11 ]
- CouchDB [ 12 ]
- Flusspferd [ 13 ]
- GPSEE [ 14 ]
- jet pack
- Plateforme intelligente Joyent [ 15 ]
- JSBuild [ 16 ]
- MongoDB [ 17 ]
- Narval (plateforme JavaScript) [ 18 ]
- Node.js (partiel ; synchrone) [ 19 ]
- Persévérer [ 20 ]
- Chargeur JavaScript PIN [ 21 ]
- Ringo JS [ 22 ]
- SoieJS [ 23 ]
- Noyau de germe [ 24 ]
- ThéJS [ 25 ]
- Wakanda [ 26 ]
- XULJet [ 27 ]
Voir aussi
- Comparaison des solutions JavaScript côté serveur
- Document Object Model (DOM), une interface de programmation d'application (API) côté client du navigateur Web couramment disponible en JavaScript
- JSGI
Références
- ^ "Modifications récentes" . Wiki des spécifications CommonJS .
- ↑ Ce dont JavaScript côté serveur a besoin - Blue Sky On Mars
- ↑ CommonJS : bibliothèque standard JavaScript
- ↑Processus de proposition - CommonJS Spec Wiki
- ↑ CommonJS : la première année - Ciel bleu sur Mars
- ^ Schlueter, Isaac Z. (25 mars 2013). "Oubliez CommonJS. C'est mort. **Nous sommes JavaScript côté serveur.**» . GitHub .
- ↑ "Bibliothèque standard JavaScript" . CommonJS. Archivé de l'original le 28 mai 2014 . Consulté le 28 mai 2014 .
- ↑ Développement et hébergement JavaScript côté serveur - Akshell
- ↑ olegp/common-node @ GitHub
- ↑ - GitHub
- ↑ DrBenton/CommonJSForPHP - GitHub
- ↑ Implémentations/CouchDB - CommonJS Spec Wiki
- ↑ Flusspferd - Plateforme CommonJS | Liaisons Javascript pour C
- ↑ Implémentations/GPSEE - CommonJS Spec Wiki
- ↑ Implémentations/Smart - CommonJS Spec Wiki
- ^ "Page d'accueil - JSBuild" . Archivé de l'original le 4 janvier 2011 . Consulté le 23 mai 2020 .
- ↑ MongoDB
- ↑ Implémentations/Narwhal - CommonJS Spec Wiki
- ↑ Implémentations/node.js - CommonJS Spec Wiki
- ↑ Implémentations/Persevere - CommonJS Spec Wiki
- ↑ pinf/loader-js - GitHub
- ↑ Implémentations/RingoJS - CommonJS Spec Wiki
- ↑ "Site WWW SilkJS" . Archivé de l'original le 12 septembre 2017 . Consulté le 23 mai 2020 .
- ↑ Implémentations/SproutCore - CommonJS Spec Wiki
- ↑ Implémentations/TeaJS - CommonJS Spec Wiki
- ↑ Wakanda
- ↑ xuljet - XUL JavaScript Enhanced Toolkit - Google Project Hosting
Liens externes
- site officiel
- Kowal, Kris (décembre 2009). "L'effort de CommonJS met JavaScript sur la voie de la domination mondiale" . Ars Technica .