Aurelia : un sérieux concurrent à AngularJS ?
Ce framework JavaScript MV* est le successeur du framework Durandal

Le , par SylvainPV

0PARTAGES

5  0 
Aurelia : un sérieux concurrent à AngularJS ?
Ce framework JavaScript MV* est le successeur du framework Durandal


Il y a quelques mois encore, Rob Eisenberg faisait partie de l'équipe de développement d'Angular. Il a ensuite décidé de la quitter pour travailler sur son propre framework au sein de sa startup Durandal. Le résultat est maintenant dévoilé en preview et porte le doux nom d'Aurelia. Son créateur le décrit comme un framework de la prochaine génération, successeur de Durandal, le framework qu'avait déjà créé la boîte du même nom. On ne pourra toutefois pas s'empêcher de le comparer à la future branche 2.0 d'AngularJS avec laquelle il partage beaucoup de fonctionnalités et d'ambitions communes.

Aurelia est un framework JavaScript client de type MV* (Model, View, et ce que vous voulez pour relier les deux), gratuit et open-source, écrit avec les dernières spécifications EcmaScript 6 et 7 (noté ES6/7 et encore à l'étude, rappelons-le). Le code est transpilé en ES5 et des polyfills sont ajoutés afin de garantir son support sur tous les navigateurs modernes. Il s'accomode très bien avec TypeScript, CoffeeScript ou AtScript selon son auteur.

Le framework ne nécessite pas de dépendances et s'avère très modulaire, décomposé en différents composants indépendants et relativement simples. Il est donc possible de n'utiliser qu'une partie du framework, parfois même en dehors du périmètre initial d'Aurelia (le module d'injection de dépendances sur un environnement Node.js par exemple).

Parmi sa longue liste de fonctionnalités, on peut citer :
  • un data-binding adaptatif très complet, avec deux fallbacks possibles (Object.observe en ES6, getter/setters en ES5 ou dirty checking en dernier recours pour le reste des navigateurs) ;
  • une forte intégration des Web Components au sein des templates ;
  • une notion de "comportements liés" permettant d'étendre les fonctions d'éléments HTML existants ;
  • un routeur client avancé qui est une amélioration de celui de Durandal 2 ;
  • un mécanisme d'injection de dépendances combiné à l'utilisation des modules ES6 ;
  • de la génération à la volée de modèles, vues et contrôleurs en fonction de données reçues à l'exécution.


http://vimeo.com/117778145

Eisenberg insiste sur la vision à long terme de ce framework qui sera soutenu par l'équipe de Durandal et une communauté qu'il espère grandissante. Au vu des choix techniques ayant été faits, en particulier ES6/7, Aurelia devrait montrer tout son potentiel dans les cinq années à venir tout en restant fonctionnel et éprouvé sur les navigateurs plus anciens.

Le site d'Aurelia.

Et vous ?

Que pensez-vous des choix faits par ce framework ?
Pensez-vous que ce framework puisse concurrencer Angular ?
Songez-vous à essayer Aurelia dans un futur projet ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de sekaijin
Expert éminent https://www.developpez.com
Le 31/01/2015 à 10:44
Il y a beaucoup de facteur quant à l'adoption d'un framework

Son accessibilité. s'il est diffusé de façon anecdotique il n'a quasi aucune chance de se diffuser.
Sa maintenant et son évolution. il est nécessaire d'avoir une vision claire de la façon dont est organisé le support, même si celui-ci est purement volontaire et non pro.
Son paradigme. il faut que le concept phare sur le quel est bâti le framwork soit clair.
Son apport. il est important de comprendre comment il se situe par rapport à la concurrence. Paradigme original, même paradigme mais plus simple à utiliser, plus léger, plus rapide, plus efficace plus efficient ...

etc...
pour le moment c'est un de plus. mais rien ne le faire ressortir du lot.

A+JYT
Avatar de Saverok
Expert éminent https://www.developpez.com
Le 02/02/2015 à 10:03
Citation Envoyé par SylvainPV Voir le message
Songez-vous à essayer Aurelia dans un futur projet ?
Pas tout de suite, pour un projet pro en tout cas.
Il y a un peu trop d'animation en ce moment autour d'Anglular et consort.
Pour les projets pro, va falloir attendre de voir comment le tout évolue.
Je garderai un œil dessus en veille techno.

Pour un projet perso, pourquoi pas.
Ca permettra une veille techno plus abouties car mise en pratique.
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 02/02/2015 à 10:54
Le rythme de sortie de nouveaux frameworks JS est toujours aussi soutenu. Donc c'est Aurelia, le framework de la semaine ?
Avatar de _skip
Expert éminent https://www.developpez.com
Le 02/02/2015 à 16:48
Intéressant mais je commence à calmer mon enthousiasme à force.
J'ai aimé angularJS dès mes premiers essais, j'ai adoré Dart aussi. Nous étions plusieurs à penser que le prometteur AngularDart serait la suite logique. Et bien non! Google a annoncé à la surprise générale qu'il bossait sur un AngularJS 2.0 avec un nouveau langage, le AtScript. On a bien ressenti le coup de froid sur la mailing list d'AngularDart.

Pourquoi ressortir ça? Parce que ça pose déjà pas mal de questions sur la direction que prendront les frameworks de la famille d'angular, alors que dire d'un nouveau venu? Visiblement les auteurs ont anticipé la critique sur la page d'accueil :


Aurelia isn't just another framework. It's an official product of Durandal, Inc., a Delaware C-Corp dedicated to advancing rich web app development by creating powerful libraries, frameworks and tools.

We have a long term vision.

Aurelia is the first step in realizing that vision. We believe it's critical to start with a completely free, open source application framework. We want to enable anyone to build amazing apps for many years to come and to know that they are building on a platform that isn't just here today and gone tomorrow. We're investing heavily in both building and supporting Aurelia as well as creating additional offerings: open source, free and commerical. We're truly excited about what's in store!
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 02/02/2015 à 17:55
@_skip : je pense que le problème est justement Google, dans le cas que tu cites. Google n'est pas un éditeur d'outils de développement. Il propose simplement des outils conçus pour l'entreprise elle-même. Et l'évolution desdits outils s'en ressent fortement. Après GWT, Dart, AngularJS et j'en oublie, les gens vont peut-être commencer à se méfier, cela dit...
Avatar de SylvainPV
Rédacteur/Modérateur https://www.developpez.com
Le 02/02/2015 à 19:14
Citation Envoyé par Traroth2 Voir le message
Google n'est pas un éditeur d'outils de développement. [...] après GWT, Dart, AngularJS
C'est pas un peu contradictoire ? Les deux gros frameworks JS du moment sont Angular et React = Google et Facebook. S'il n'y avait pas le poids de ces entreprises, je doute que ces bibliothèques aient eu le même succès. C'est justement pour ça que Eisenberg met en avant son entreprise Durandal, autrement c'est là que les gens pourraient se méfier.
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 03/02/2015 à 11:42
Citation Envoyé par SylvainPV Voir le message
C'est pas un peu contradictoire ? Les deux gros frameworks JS du moment sont Angular et React = Google et Facebook. S'il n'y avait pas le poids de ces entreprises, je doute que ces bibliothèques aient eu le même succès. C'est justement pour ça que Eisenberg met en avant son entreprise Durandal, autrement c'est là que les gens pourraient se méfier.
Je ne vais pas préjuger de ce que va faire Facebook, mais concernant Google, manifestement, les outils proposés ne sont maintenus sérieusement que tant qu'ils ont une utilité pour la société et leur évolution suit strictement les besoins de Google, quitte à casser la compatibilité ascendante comme avec Angular 2.

Donc, oui, le poids de Google a fait le succès de GWT ou Angular (pour Dart, le succès est plus mitigé), mais je ne suis pas certain que ceux qui ont déjà été victimes de embardées technologiques de Google s'y laissent reprendre une autre fois.
Avatar de Paleo
Membre confirmé https://www.developpez.com
Le 03/02/2015 à 11:46
Merci pour cet article.

La page Get Started insiste sur l'utilisation de ES6 et la compatibilité avec AtScript. Les choix de design paraissent être les mêmes que ceux de AngularJS : data binding, injection de dépendences pour Angular 1; puis ES6, AtScript et les Web components pour Angular 2. Les routeurs enfants proviennent du routeur de Durandal, lequel est une source d'inspiration pour le futur routeur de AngularJS 2.0.

Notons que, contrairement à Angular 1, Aurelia n'insiste pas du tout sur les tests unitaires (en fait ils font carrément l'impasse dessus dans la doc).

Dans les templates, les directives de Aurelia utilisent un format que je ne connaissais pas avec un point comme séparateur : "motclé1.motclé2" (exemple : "src.bind".

La compatibilité visée est limitée aux navigateurs Evergreen :

Aurelia targets Evergreen Browsers only. However, some of our early adopters have reported that things appear to be working even on IE9...
Avatar de _skip
Expert éminent https://www.developpez.com
Le 03/02/2015 à 12:51
Citation Envoyé par Tarh_ Voir le message
Merci pour cet article.

La page Get Started insiste sur l'utilisation de ES6 et la compatibilité avec AtScript. Les choix de design paraissent être les mêmes que ceux de AngularJS : data binding, injection de dépendences pour Angular 1; puis ES6, AtScript et les Web components pour Angular 2. Les routeurs enfants proviennent du routeur de Durandal, lequel est une source d'inspiration pour le futur routeur de AngularJS 2.0.
J'ai moi aussi regardé, mais j'ai eu la flemme d'installer toute la stack pour accéder aux librairies (nodejs, npmjs, gulp et autres). Mais la proximité avec angular est très évidente.

Par contre ça m'a paru particulièrement intéressant de faire du "router" un citoyen de première classe car j'ai pas eu l'impression que c'était suffisamment le cas dans angularjs, surtout si on a besoin de plusieurs niveaux. Enfin c'est peut être moi qui sait pas y faire, cependant s'ils commencent à reconsidérer cette partie pour angularjs 1.4/2.0 cest peut être bien qu'il y a un souci.

Pour ce qui est de la politique de google ben, les projets sont open source, après on voit ce que ça fait quand un gros sponsors prend ses distances avec un projet. Sans refaire le débat sur proprio vs open source, c'est une problématique qui se pose dans les 2 situations.
Avatar de frfancha
Membre éclairé https://www.developpez.com
Le 03/02/2015 à 16:23
Faut aussi comparer ce qui est comparable... Mieux qu'Angular? Oui sans doute mais Angular a été conçu il y a 5 ans et jusque la version 1.2.28 (sortie il y a deux mois) fonctionne sur IE8.
Donc oui ce n'est pas aussi moderne qu'Aurelia mais ce la fonctionne ... aujourd'hui et pas demain!
Contacter le responsable de la rubrique JavaScript

Partenaire : Hébergement Web