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 sous-jacentes changent. Il n'est pas nécessaire de réinventer la roue car Ember.js intègre des expressions idiomatiques courantes.
La sortie de la version 1.8.0.
Dans les versions précédentes, le code HTML d'une page est créé (via Handlebars) et assemblé (via l'affichage de l'arbre) en utilisant la concaténation de chaînes. Dans Ember.js 1.8, les parties d'une page sont toujours créées sous forme de chaînes de caractères mais sont ensuite analysées et assemblées sous forme d'arbre DOM. Cette nouveauté porte le nom de metal-views et est un premier effort d'implémentation de HTMLBars (un compilateur pour Handlebars qui génère un arbre DOM plutôt qu'une chaîne de caractères).
Les bénéfices sont :
- la suppression de la récursivité de la couche d'affichage. Cela améliore le travail du garbage collector pendant l'affichage et permet la réutilisation des objets au cours de l'affichage ;
- l'amélioration des espace de noms HTML. Cela introduit la prise en charge des composants, de la liaison de données et de la logique inline des documents SVG ;
- le remplacement des balises <script> comme dans l'exemple suivant :
Code html : Sélectionner tout 1
2
3<script id="metamorph-1-start" type="text/x-placeholder"></script> Bob <script id="metamorph-1-end" type="text/x-placeholder"></script>
Pour le reste des modifications apportées par cette nouvelle version, il y a l'éternel combat qui est d'améliorer les performances. C'est le cas notamment par l'ajout de caches pour les opérations qui manipulent des chaînes de caractères qui dovient avant tout être normalisées. Mais aussi par le support des mises à jours du moteur V8 ou bien des navigateurs.
Notons également quelques dépréciations :
- la classe Ember.Set qui n'est pas compatible avec les nouvelles normes ;
- dans Ember.Map, la méthode delete remplace la méthode remove ;
- currentWhen devient current-when ;
- etc.
Remarque : l'équipe tente de rester compatible dans ses révisions mineures mais doit parfois faire des changements qui peuvent avoir un impact sur votre code actuel.
Vous trouverez la liste complète des nouveautés et corrections ici.
C'est également l'occasion pour l'équipe d'annoncer la sortie de la version bêta 1.9.0.
Télécharger.
L'annonce officielle.
La documentation.