Meteor (framework)
Meteor est un framework open-source de développement web en JavaScript basé sur Node.js. Le projet vise à créer un framework de « nouvelle génération » induisant un changement de paradigme notamment sur la manière de considérer les architectures client-serveur.
Pour les articles homonymes, voir Meteor.
Développé par | Meteor (société) |
---|---|
Première version | |
Dernière version | 2.1 ()[1] |
Dépôt | github.com/meteor/meteor |
Assurance qualité | Intégration continue |
Écrit en | JavaScript, C et C++ |
Type |
Framework web (en) Framework JavaScript (en) |
Licence | Licence MIT |
Site web | www.meteor.com |
Le projet est sorti en version stable 1.0 le
Principes
Meteor permet de développer avec le même langage (en Javascript ou dans un langage compilant vers Javascript comme CoffeeScript ou Dart) et avec la même API sur le client et sur le serveur. Ce choix d’architecture permet de déplacer facilement un traitement du serveur vers le client (et réciproquement) voire de le dupliquer par exemple dans le cas de la validation d'un formulaire.
Dans cette logique, Meteor inclut un système de gestion de base de données côté client, fonctionnalité originale du framework. Il est ainsi possible d'effectuer des requêtes même en étant déconnecté du serveur. Cela permet notamment à Meteor d'inclure par défaut, des mécanismes de compensation de latence. Par exemple, l'envoi d'un message dans un chat sera instantanément ajouté au fil des messages au clic sur le bouton "Envoyer", tandis que la vérification du message se fera en arrière-plan côté serveur. Ce mécanisme permet l'utilisation de la programmation réactive côté client.
Histoire
Initialement nommé Skybreak, le projet est renommé Meteor le [2]. Le , l'équipe responsable du projet annonce une levée de fonds de 11,2 millions de dollars assurant ainsi la pérennité à moyen terme du projet et permettant d'animer une communauté autour de lui[3].
Historique des versions
Code des couleurs | |
---|---|
Rouge | Ancienne version, non supportée |
Vert | Version actuelle, supportée |
Bleu | Version à venir |
No | Version | Nom de code | Nom de test | Date de publication |
---|---|---|---|---|
1 | 0.1 | |||
2 | 0.2 | |||
3 | 0.3 | |||
4 | 0.4 | |||
5 | 0.5 | |||
6 | 0.6 | |||
7 | 0.7 | [4] | ||
8 | 0.8 | |||
9 | 0.9 | |||
10 | 1.0 | [5] | ||
11 | 1.1 | [6] | ||
12 | 1.2 | [7] | ||
13 | 1.3 | [8] | ||
14 | 1.4 | [9] | ||
15 | 1.5 | |||
16 | 1.6 | |||
17 | 1.7 | [10] | ||
18 | 1.8 | [11] |
Forces de Meteor
Les forces[12]
- Communauté : Meteor dispose d'une communauté active autour du projet[13]. Il fait partie des dix projets les plus étoilés de github[14].
- Embrace the Ecosystem : Meteor est un framework complètement open-source, de même que ses composants et ses nombreux plugins.
- Meteor est fortement modulable grâce à ses briques autonomes (smart packages) officielles ou issues de la communauté et répertoriées sur atmospherejs.com[15]
- "Data on the Wire" : Contrairement à PHP et ses frameworks, Meteor, n'envoie pas de code HTML, il envoie des données et laisse au client le soin de faire le rendu de l'application.
- Un seul langage : Meteor se basant sur Node.js, il en reprend son principe : "du JavaScript côté serveur".
- Base de données partout : Dans Meteor, il est possible d’accéder à la base de données depuis le client comme depuis le serveur[16].
- Compensation des latences : Meteor étant basé sur le temps réel, il demeure une latence, même très faible. C'est pourquoi il prend soin de compenser cette latence dans le navigateur : plutôt que d'attendre que les données envoyées ne soient renvoyées, il modifie l'affichage en avance. Ainsi, la sensation de latence disparaît complètement.
- "Full Stack Reactivity" : Absolument tout dans Meteor peut changer à n'importe quel moment dans le navigateur du client, et ce sans que le client n'ait effectué une seule requête.
- Au niveau du SEO, Meteor est maintenant optimisé pour faire indexer le contenu grâce au plugin spiderable.
Voir aussi
Articles connexes
- Javascript
- Node.js
- Datagram Delivery Protocol
- MongoDB
Notes et références
- « release/METEOR@2.1 », (consulté le )
- (en) Skybreak s'appelle maintenant Meteor
- (en) Levée de fonds de 11,2 millions de dollars
- « Meteor 0.7.0: Scalable database queries using MongoDB oplog instead of poll-and-diff », (consulté le )
- (en) « meteor/meteor », sur GitHub (consulté le )
- (en) « meteor/meteor », sur GitHub (consulté le )
- (en) « meteor/meteor », sur GitHub (consulté le )
- (en) « meteor/meteor », sur GitHub (consulté le )
- Zoltan Olah, « Announcing Meteor 1.4 - Updated Node and MongoDB versions & more » (consulté le )
- (en) « meteor/meteor », sur GitHub (consulté le )
- (en) « meteor/meteor », sur GitHub
- Creez une single-page app avec node.js et meteor
- Voir le tableau de bord des fonctionnalités à venir, ouvert aux contributions et votes de la communauté
- (en) Annonce de nos 20 millions de dollars de financement
- (en) Site atmospherejs.com
- (en) Mini base de données
- Portail de la programmation informatique
- Portail des logiciels libres