Je recrute

Je cherche un job

Le framework Ember

Stable, complet et adapté aux projets les plus ambitieux, Ember trouve sa place parmi les frameworks JavaScript les plus populaires. Initié au sein d'Apple mais ayant rapidement trouvé son indépendance, ce framework open source convint start-ups et grandes entreprises pour le développement d'applications web, mobiles et de bureau.

Petite histoire d'Ember

Le développement d'Ember commence comme un projet d'Apple connu sous le nom de SproutCore. Parmi l'équipe, le développeur Yehuda Katz, ayant par ailleurs collaboré à Ruby on Rails et JQuery, commence un développement parallèle qui donnera naissance à Ember en 2011. Depuis, Ember est développé par la communauté mais toujours utilisé par Apple.

Ember est donc un framework JavaScript libre et open source. Il est distribué sous licence MIT, autorisant notamment une libre réutilisation de tout ou partie de code, y compris pour un usage marchand, pour autant que les termes de la licence et la mention du copyright figurent au sein du logiciel sous licence commerciale.

Depuis sa version 2. 0, Ember utilise le modèle MVC (Modèle-vue-contrôleur). Son but est de séparer les responsabilités en trois couches pour mieux étendre et réutiliser le code. C'est également un motif d'architecture logicielle qui facilite le travail de grosses équipes en les aidant à collaborer.

Ce qu'est Ember

Comme de nombreux frameworks facilitant le développement web, Ember cherche à éviter la surcharge du serveur en donnant plus de responsabilités au client. En traitant les données au niveau du navigateur, la charge de travail du serveur est allégée et l'application peut fonctionner plus rapidement.

Dans le but d'optimiser le développement, Ember impose l'utilisation de « bonnes pratiques », ce qui peut perturber sa prise en main pour les néophytes mais se traduit par un code organisé et cohérent qu'il est plus facile de maintenir et faire évoluer. On entend souvent à ce sujet que, si un élément est difficile à programmer avec Ember, c'est que le framework n'est certainement pas utilisé comme il le devrait.

L'écosystème d'Ember est riche et englobe notamment les deux outils complémentaires que sont Ember Data et Ember CLI. Ember Data est une bibliothèque de modélisation de données permettant d'interagir avec le back end, elle est inclue par défaut aux applications utilisant Ember CLI, qui est l'interface en ligne de commande officielle du framework.

Pour quel projet utiliser Ember

Les projets amenés à évoluer Ember repose sur les principes de convention plutôt que configuration (CoC) et DRY, pour don't repeat yourself. Le premier optimise les phases de développement grâce à des conventions et des portions de code générées automatiquement, le second cherche à éviter les doublons. Dans les deux cas, le but est de produire le code le plus épuré et efficace possible, pour mieux se mettre au service du projet. Cela permet également un code plus propre et cohérent, favorisant la maintenabilité du programme et la collaboration des équipes techniques, quelle que soit leur taille. Pour les entreprises dont le projet est amené à s'agrandir, cela permet également d'intégrer plus facilement de nouveaux membres à l'équipe technique. Ember est un framework stable mais évolutif et facilite enfin le passage d'une application d'une version du framework à une autre.

Les gros projets Ember est un framework complet, incluant des outils de routage, de modélisation des données, de test et bien plus. Il embarque notamment un routeur, qui fait partie intégrante de son fonctionnement, contrairement à ses principaux concurrents qui imposent une installation séparée. Qui peut le plus peut cependant le moins et sa flexibilité le rend également adapté à de plus petits projets.

Les projets nécessitant la technologie la plus récente JavaScript évolue rapidement et Ember met un point d'honneur à permettre l'utilisation des fonctionnalités les plus récentes dès qu'elles sont disponibles. Le framework propose en effet une approche holistique du développement et permet de profiter des bénéfices offerts par l'ensemble de la communauté JavaScript.

5 autres articles en lien avec cette page :