(dont la bêta est disponible) pour le framework JavaScript
Ember.js est un framework JavaScript permettant de créer des applications Web ambitieuses !
En utilisant des templates intégrés, vous écrivez considérablement moins de code et vos pages se mettent à jour automatiquement lorsque les données adjacentes changent. Il n'est pas nécessaire de réinventer la roue, car Ember.js intègre des expressions idiomatiques courantes.
L'équipe annonce la sortie de la version 1.13.0 qui, comme annoncée, est la première révision à inclure le moteur d'affichage Glimmer. Mais c'est aussi la dernière révision de la série 1.x qui fera donc place à la version 2.0.
Glimmer a pour but d'améliorer la performance et de simplifier l'utilisation à l'aide d'un arbre virtuel des zones dynamiques du DOM. Cela signifie que même si la structure de données d'origine (par exemple, un tableau) est complètement remplacée, le DOM n'est pas modifié sauf si le contenu affiché qui en résulte a changé. Vous pourrez par exemple remplacer un tableau par un autre, en toute simplicité. Ce modèle hybride limite les nœuds qui sont mis à jour. En fait, ces techniques sont proches de celles de React.
La version 1.13.0 contient également des ajouts permettant de gérer les premiers affichages (au niveau des attributs et des méthodes de type « événements » autour de l'affichage), mais aussi lors d'un réaffichage.
Notons ensuite le remplacement de la transmission d'une action/d'un comportement par le bubbling à un contexte parent par une méthode de passage de fonction qui offre plus de possibilités.
Ensuite, c'est l'occasion d'introduire une API pour rédiger des helpers avec un jeu de contraintes et fonctionnalités imposées par de vraies expériences.
Petit exemple d'un helper qui rassemble un nom et un prénom :
Code javascript : | Sélectionner tout |
1 2 3 4 5 6 | // app/helpers/full-name.js import Ember from "ember"; export default Ember.Helper.helper(function(params, hash) { return params.join(' '); }); |
Que l'on peut utiliser ainsi :
Code : | Sélectionner tout |
1 2 3 4 5 | {{full-name "Daniel" model.lastName}} {{my-component name=(full-name model.firstName "Smith")}} {{! The following usage would set the model.name to the new full name when my-component calls the submit action. }} {{my-component submit=(action (mut model.name) (full-name model.firstName "Smith"))}} |
Vous trouverez la liste complète des nouveautés et corrections ici.
L'équipe annonce donc la sortie de la version bêta 2.0.0 ! Cette version contiendra des nouveautés comme le helper each-in pour itérer sur les propriétés d'objets ou bien comme le helper get pour récupérer une propriété unique d'un objet. Bien entendu, les dépréciations citées ci-haut disparaitront pour de bon.
Télécharger.
L'annonce officielle.
La documentation.