BT

Nouvelle version d'Ember avec Handlebars 2.0 : vers HTMLBars, un nouveau système de templating

| par James Chesters Suivre 2 Abonnés , traduit par Hadrien Pierart Suivre 0 Abonnés le 29 déc. 2014. Durée de lecture estimée: 3 minutes |

Ember.js vient de publier la version 1.9 qui apporte le support d'Handlebars 2.0, ainsi que des améliorations de performances et l'introduction d'HTMLBars pour Ember 1.10 beta.

Depuis la publication d'Handlebars 2.0 en octobre 2014, l'équipe Ember a reçu de "nombreuses demandes de mises à jour d'Ember pour utiliser la dernière version", selon Robert Jackson, membre de l'équipe core d'Ember.

Matthew Beale, un contributeur d'Ember, a annoncé cette dernière publication sur le blog Ember.js, dans l'article Ember.js 1.9 et 1.10 Beta publiés, où il explique "l'ajout du support pour les templates Handlbars 2.0," sans conserver la rétrocompatibilité avec les versions précédentes d'Handlebars.

Beale souligne que ce changement "n'affecte pas la syntaxe des templates ou de l'API publique des applications Ember".

Pourtant, au moment de la sortie de la beta de la 1.9 en octobre, on se demandait si Handlebars allait casser les applications Ember, Yehuda Katz (un des développeurs d'Ember) rassure en ces termes :

Cela n'affecte pas l'API de templating d'Ember. Handlebars 2.0 est principalement une réorganisation de l'API publique d'Handlebars pour le rendre plus à même de fonctionner en module, et puisque vous travaillez avec l'API d'Ember, nous pouvons l'abstraire.

Handlebars 2.0 apporte également des corrections de bugs importantes qui vont nous permettre d'améliorer Ember (entre autres d'utiliser les espaces de nommage pour les composants).

Etant donné qu'Handlebars est uniquement une dépendance d'Ember, les développeurs utilisant Ember n'ont pas besoin de modifier leurs templates pour être compatibles.

Avec cette nouvelle 1.9 arrive également la beta de la 1.10 et l'introduction d'HTMLBars dans Ember.js. HTMLBars est une nouvelle bibliothèque de templating construite sur Handlebars et créée par Erik Bryn (un des développeurs d'Ember.js).

Dans sa présentation à l'Emberconf intitulée "HTMLBars : Le système de templates nouvelle génération d'Ember.js (en)", Bryn décrit HTMLBars comme une "opportunité de corriger certains problèmes fondamentaux de performances d'Ember".

Il demande "Qu'est-ce qui excite les gens dans HTMLBars ?" et répond "la syntaxe".

Il détaille ensuite :

C'est notre idéal non ?

<div class="{{foo}}">{{bar}}</div>

Mais voilà ce que l'on doit faire aujourd'hui en Ember :

<div {{bind-attr class="foo"}}>{{bar}}</div>

Avec HTMLBars, nous avons notre syntaxe idéale !

<div class="{{foo}}">{{bar}}</div>

HTMLBars sait lorsqu'une moustache est utilisée dans une balise ouvrante, un attribut ou à l'intérieur d'une balise.

<div {{foo}}></div>

<div class="{{bar}} baz"></div>

<div>{{baz}}</div>

Ce qui signifie "plus de balise script".

Beale commente cette nouvelle annonce ainsi : "Ce nouveau système de rendu marque une étape importante pour le framework, et en maintenant une compatibilité complète de l'API, cela prouve notre volonté de préserver une stabilité sans stagner".

L'ajout des streams dans Ember.js 1.9 est également un point important, en venant remplacer les bindings bas niveau du système de rendu. Là où précédemment les bindings étaient basés sur un système d'observateurs clé-valeur, les streams permettent de différencier une notification de changement d'une nouvelle valeur calculée.

Beale ajoute également que "l'addition des streams dans Ember et leur utilisation dans la couche des vues améliore les performances de rendu, simplifie de nombreux helpers et prépare le code d'Ember pour HTMLBars".

Ember.js est publié sous licence MIT. Les lecteurs d'InfoQ peuvent contribuer à Ember.js via le projet GitHub

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT