Meteor (framework)

Un article de Wikipédia, l'encyclopédie libre.
Meteor
Description de l'image Meteor-logo.png.

Informations
Développé par Meteor (société)
Première version Voir et modifier les données sur Wikidata
Dernière version 2.13 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/meteor/meteorVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en JavaScript, C et C++Voir et modifier les données sur Wikidata
Type Framework web
Framework JavaScript (en)Voir et modifier les données sur Wikidata
Licence Licence MITVoir et modifier les données sur Wikidata
Site web www.meteor.comVoir et modifier les données sur Wikidata

Meteor est un framework open-source de développement web en JavaScript fondé 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.

Le projet est sorti en version stable 1.0 le .

Principes[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

Les forces[12][modifier | modifier le code]

  • 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[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. « https://medium.com/official-meteor-blog/new-meteor-js-2-13-node-js-14-21-4-security-patch-and-blaze-2-7-1-release-60134947e4c »
  2. (en) Skybreak s'appelle maintenant Meteor
  3. (en) Levée de fonds de 11,2 millions de dollars
  4. « Meteor 0.7.0: Scalable database queries using MongoDB oplog instead of poll-and-diff », (consulté le )
  5. (en) « meteor/meteor », sur GitHub (consulté le )
  6. (en) « meteor/meteor », sur GitHub (consulté le )
  7. (en) « meteor/meteor », sur GitHub (consulté le )
  8. (en) « meteor/meteor », sur GitHub (consulté le )
  9. Zoltan Olah, « Announcing Meteor 1.4 - Updated Node and MongoDB versions & more » (consulté le )
  10. (en) « meteor/meteor », sur GitHub (consulté le )
  11. (en) « meteor/meteor », sur GitHub
  12. Creez une single-page app avec node.js et meteor
  13. Voir le tableau de bord des fonctionnalités à venir, ouvert aux contributions et votes de la communauté
  14. (en) Annonce de nos 20 millions de dollars de financement
  15. (en) Site atmospherejs.com
  16. (en) Mini base de données