La plate-forme JavaScript pour créer des applications Web approche de sa version 1.0
Meteor est une plate-forme open source pour créer des applications Web de qualité et cela très rapidement, peu importe que vous soyez un expert développeur ou bien un débutant. Avec Meteor, vous n'avez plus à gérer les ressources serveur ou une base de données, ni à manipuler une couche ORM (couche d'abstraction à la base de données), ni à organiser le va-et-vient entre clients et serveur en cas de données invalides.
En voici plusieurs caractéristiques :
- écrire son application entièrement en JavaScript. Les mêmes API sont disponibles sur le client et sur le serveur donc le même code peut être exécuté facilement dans l'environnement ;
- écrire simplement ses modèles. Ils se mettent à jour automatiquement lorsqu'il y a des modifications de données dans la base de données. L'outil prend en charge n'importe quel langage de création de modèles ;
- écrire son code client comme s'il était en cours d'exécution sur le serveur et avec un accès direct à la base de données ;
- lorsqu'un utilisateur apporte une modification, son écran se met à jour immédiatement, il n'y a pas d'attente serveur. Si le serveur rejette la demande ou s'il l'exécute différemment, le client se reconstitue avec ce qui s'est réellement passé ;
- mettre à jour votre application pendant que les utilisateurs sont connectés sans les déranger. Lorsque vous publiez une nouvelle version, le nouveau code est parfaitement injecté dans chaque fenêtre du navigateur dans laquelle l'application est ouverte ;
- écrivez tout le code en JavaScript (si vous le souhaitez). L'interface utilisateur s'exécute dans votre navigateur. Les fonctions sensibles sont exécutées dans un environnement privilégié ;
- une seule commande pour compiler votre application entière dans une archive tar. A décompresser n'importe où où se trouve node.js en une seule commande également ;
- vous pouvez connecter tout ce que vous voulez à Meteor, des applications mobiles natives aux bases de données de Arduinos (une plate-forme de prototypage électronique open source qui permet de créer des objets électroniques interactifs). Il suffit d'implémenter le protocole DDP ;
- les packages Smart Meteor sont de petits programmes qui peuvent injecter du code dans le serveur ou le client, ou même pré traiter vos sources. C'est pourquoi ils sont les plus petits possible, avec un ensemble de dépendances minimal. Vous pouvez ainsi utiliser vos modèles, vos jeux de tests ou vos frameworks de manipulation du DOM préférés.
L'équipe a annoncé la sortie de la version 0.8.0.
Elle ne contient à vrai dire qu'une seule nouveauté donc si vous aviez déjà utilisé la révision précédente (0.7.2), vous pouvez mettre à jour votre code sans problème (sauf si vous utilisiez Spark). Cette nouveauté, c'est Blaze, la nouvelle génération du moteur de templating en live.
Blaze transforme des modèles HTML en éléments du DOM pouvant être mis à jour en direct. Lorsqu'un utilisateur modifie les données ou bien que de nouvelles données arrivent sur le réseau et qu'elles dépendent d'un modèle, Blaze met à jour votre écran automatiquement. Sa manière de faire est différente des précédentes versions du moteur Spark.
Voici quelques caractéristiques :
- simple d'utilisation pour le développeur qui crée des templates HTML tout à fait normaux ;
- les mises à jours sont les plus minimalistes possible afin d'améliorer les performances. Seul le nécessaire est rafraîchi ;
- ce moteur est compatible avec les autres codes qui manipulent le DOM et les CSS comme par exemple un plugin jQuery ;
- vous pouvez inclure du SVG à côté ou dans votre template HTML, le code sera correctement interprété ;
- le moteur est divisé en deux parties. La première est un compilateur qui traduit le template en code JavaScript. La seconde est une API qui restitue les éléments et qui assure le suivi de leurs dépendances et donc des mises à jours ;
- etc.
Blaze est une nouvelle étape importante pour la plateforme qui continue son avancée vers sa version 1.0.
Site officiel.
L'article sur la version 0.8.0.
Exemples et documentation.