ArticleApplications & Développement
Zoom sur la feuille de route JavaScript Glimmer
L'utilisation d'un bytecode personnalisé dans la bibliothèque mobile JavaScript Glimmer, qui sert à créer des apps mobiles, doit accélérer le chargement des applications et améliorer les performances. Sa dernière architecture est encore en bêta test.

Glimmer, la bibliothèque issue de la pile front-end JavaScript Ember.js, utilisera bientôt un bytecode personnalisé qui permet d’accélérer le chargement des applications Web sur les périphériques mobiles.
La bibliothèque de composants de l'interface utilisateur de Glimmer offre une architecture de machine virtuelle similaire à la JVM de Java et au Common Language Runtime de Microsoft. Conçue pour les UI Web, elle s'exécute dans le navigateur. Glimmer, comme Ember, intègre la bibliothèque open source Handlebars pour la création de modèles. Étant donné que Glimmer est le moteur de rendu de Ember, les améliorations de Glimmer profiteront aussi à Ember.
Compilation accélérée et apps mobiles plus performantes
Également connu sous le nom de Glimmerjs, Glimmer compile désormais les modèles en JSON, un standard pour les échanges de données sur le Web, plus rapide que JavaScript pour l’analyse. Les développeurs peuvent écrire en JavaScript ou en TypeScript. « La version bêta expérimentale permet de se passer de l’étape d'analyse en compilant directement dans un bytecode personnalisé. Cette méthode résout également le problème du goulot d'étranglement qui pèse sur les performances des smartphones bas de gamme », a expliqué Tom Dale, développeur de Glimmer et de Ember et ingénieur logiciel senior chez LinkedIn. Ce code expérimental a aussi permis d’améliorer les performances d’un iPhone. La future version de production de Glimmer adoptera cette approche basée sur un bytecode personnalisé, mais le développeur n’a pas encore donné de date de sortie pour cette version.
Les autres nouveautés attendues de Glimmer
Plusieurs fonctionnalités de la prochaine version de Glimmer devraient permettre d'améliorer les performances des applications dans le navigateur. Notamment :
Prise en charge du format de code binaire WebAssembly, qui accélère également les performances de l'application Web dans Glimmer. À partir du printemps 2018, la prise en charge de WebAssembly améliorera les temps de chargement et les temps d'exécution. « Les applications Web complexes devraient se charger instantanément, même sur les smartphones bas de gamme », a affirmé Tom Dale.
Support expérimental pour les Web Workers (ils permettent d'exécuter simplement des scripts dans des threads en arrière-plan d'un contenu web). Ce support doterait JavaScript de capacités d'exécution parallèle et permettrait de s’exonérer des tâches de rendu.
Où télécharger Glimmer
Les technologies Glimmer sont disponibles sur Github. Les développeurs peuvent essayer la version bêta du bytecode dans l’espace Glimmer Playground : en cliquant sur le bouton « π » situé dans le coin inférieur droit, ils pourront voir la sortie décompilée dans une nouvelle fenêtre.


