Ember 1.7.0 : le routage imbriqué


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.7.0 amène son lot de nouveautés et de corrections.

Parmi celles-ci, il y a la possibilité d'imbriquer des this.route comme s'est le cas avec les this.resource, moyennant une petite modification pour préserver l'espace de nom :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
this.resource('foo', function() {
  this.resource('foo.bar', function() {
    this.resource('foo.bar.baz', function() {
      // All this repetition to get an
      // intuitively-named FooBarBazRoute
    });
  });
});

Cependant, il y a une différence avec le routage et la structuration de l'espace de nom :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
this.route('foo', function() {
  this.route('bar', function() {
    this.route('baz', function() {
       // uses FooBarBazRoute
       // generates foo.bar.baz.index
       // generates FooBarBazIndexRoute
     });
   });
});


Ensuite, il y a l'utilisation des paramètres de requête (URL). Par exemple : /?page=1&sort=last_name. Ainsi, chaque paramètre est lié à une propriété sur un contrôleur. On y voit comme avantages la mise à jour directe de la propriété selon le paramètre et le casting implicite des propriétés.


Cette version connait également son lot de dépréciation comme l'observabilité des vues de containers en tant que tableaux. Mais aussi Ember.DeferredMixin (ce qui implique la dépréciation de .then sur une instance Ember.Application) et Ember.Deferred au profit des RSVP.Promise.


Pour ce qui est des autres modifications, il y a le fait de ne jamais affectez le contenu d'un contrôleur. Il est préférable de modifier son modèle.
Et maintenant, un tableau vide est considéré comme une valeur erronée pour bind-attr.


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


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


Et vous ?

Qu'utilisez-vous pour créer vos applications Web ?