Meteor (framework)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Meteor.
Meteor
Logo
Logo

Développeur Meteor (société)
Première version [2]
Dernière version 1.1 ([3])
Écrit en Javascript
Environnement Multiplate-forme
Type Framework Web
Licence MIT[4]
Site web meteor.com
code source sur github.com

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.

Le projet est sorti en version stable 1.0 le 28 octobre 2014

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 coté client.

Histoire[modifier | modifier le code]

Initialement nommé Skybreak, le projet est renommé Meteor le [5]. 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[6].

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 [7]
8 0.8
9 0.9
10 1.0 31 octobre 2014

Forces et faiblesses de Meteor[modifier | modifier le code]

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

  • Communauté : Meteor dispose d'une communauté active autour du projet[9]. Il fait partie des dix projets les plus étoilé de github.[10]
  • 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) officiel ou issue de la communauté et répertorié sur atmospherejs.com [11]
  • "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 le principe, soit "du JavaScript côté serveur".
  • Base de donnée partout : Dans Meteor, vous pouvez autant accéder à la base de données depuis le client que depuis le serveur.[12]
  • 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 votre navigateur : plutôt que d'attendre que les données que vous avez envoyées ne vous 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.
  • Meteor propose un espace d’hébergement basique gratuit sur un sous-domaine de meteor.com ou un autre domaine.
  • 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]