Developpez.com

Télécharger gratuitement le magazine des développeurs, le bimestriel des développeurs avec une sélection des meilleurs tutoriels

Ember 1.4.0 : intégration avec d'autres bibliothèques
Gestion du helper, des attributs et des propriétés améliorée

Le , par vermine, Responsable JavaScript & AJAX
Sortie de Ember 1.4.0
Intégration avec d'autres bibliothèques, gestion helper, attributs et propriétés améliorés


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.4.0 s'inscrit dans le cycle de publication « en six semaines » annoncé par l'équipe.

Parmi les nouveautés, il y a l'amélioration de la gestion des propriétés via l'utilisation des accolades. Par exemple, le code .property('baz.foo', 'baz.bar') peut s'écrire .property('baz.{foo,bar}') évitant ainsi la redondance et la duplication.

On découvre également une méthode utile lors de l'intégration avec des bibliothèques autres qu'Ember qui fournissent des callbacks asynchrones : Ember.run.bind. Effectivement, Ember utilise une boucle d'exécution pour fusionner les modifications. Cela fonctionne en marquant le début et la fin de l'exécution de code Ember. Ce qui est plus complexe lorsque que du code JavaScript autre qu'Ember entre en jeu.

On pourrait par exemple avoir ce code :

Code javascript : Sélectionner tout
1
2
3
4
5
6
var that = this; 
jQuery(window).on('resize', function(){ 
  Ember.run(function(){ 
    that.handleResize(); 
  }); 
});

Grâce à cette nouvelle méthode, nous obtenons le code :

Code javascript : Sélectionner tout
jQuery(window).on('resize', Ember.run.bind(this, this.handleResize));


Le helper {{with}} (ensemble de fonctions réunies par thème) accepte une option controller qui crée et utilise une instance du contrôleur indiqué avec le nouveau contexte en tant que contenu. Ce qui offre un moyen très élégant de manipuler le contexte avec des fonctions/propriétés personnalisées. Cela rappelle le fonctionnement de itemController avec le helper {{each}}.

Code javascript : Sélectionner tout
1
2
3
{{#with users.posts controller='userBlogPosts'}} 
  {{!- Le contexte actuel est enveloppé dans une instance du contrôleur userBlogPosts. }} 
{{/with}}


De leur côté, les attributs liés sont mieux gérés. Toutes les liaisons qui n'existent pas au moment du premier affichage de la vue ne sont pas configurées selon un observer (cela évite donc un souci de performance). Lorsque l'attribut est défini par après sur la vue, un observer est alors configuré à ce moment-là. Cela signifie que des observers sont créés uniquement pour les propriétés réelles, qui sont présentes. Toutefois, nous pouvons énumérer chaque attribut HTML valide dans la propriété attributeBindings. Donc vous pouvez les utiliser sans avoir à rouvrir des classes internes.
Notez que vous pouvez utiliser les attributs HTML5 avec les éléments {{input type="text"}}, {{textarea}}, et {{checkbox}}.

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.5.0.

Télécharger.
L'annonce officielle.
La documentation.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Ingénieur analyste programmeur (H/F)
Safran - Auvergne - Montluçon (03100)
Data scientist senior H/F
Safran - Ile de France - Magny-les-Hameaux (Saclay)
Responsable transverse - engagement métiers H/F
Safran - Ile de France - Corbeil-Essonnes (91100)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique JavaScript : Xavier Lecomte -