La librairie JavaScript pour Windows (WinJS) a été démarrée avec Windows 8 pour proposer aux développeurs JavaScript un moyen efficace de créer des applications pour le Windows Store. La version 2.0 fera partie du lancement de Windows 8.1 et Microsoft a promis de nouvelles fonctionnalités ainsi qu’une amélioration importante des performances. Cela devrait être aux bénéfices de tous les utilisateurs mais particulièrement de ceux qui utilisent des appareils à base de processeurs ARM ou Atom.
Pendant “Quoi de Neuf dans WinJS ?”, une présentation de Paul Gusmorino, des informations sont apparues sur les changements à attendre dans WinJS 2.0. Gusmorino a listé plusieurs applications pour Windows 8.1 qui sont passées à la version 2.0 y compris Store, Music et Skype parmi de nombreuses autres.
En regardant les objectifs de conception pour WinJS 2.0, à la fois les développeurs et les utilisateurs vont bénéficier de l’inclusion de plus de schémas d’interfaces et de meilleures performances. Le contrôle ListView de la version 2.0 est environ 30 % plus rapide que dans WinJS 1.0 (mesuré sur la Microsoft Surface). Dans la démo de Gusmorino, l’application Windows Mail a été utilisée pour montrer les gains de performances du contrôle, et c’était visiblement plus rapide.
WinJS 2.0 en un coup d’oeil
- Contrôles améliorés
- List View
- App Bar
- Infrastructure
- Planificateur
- Modèle de libération des ressources
- Débogage asynchrone
- Nouveaux contrôles
- Hub
- Navigation Bar
- Search Box
- Back Button
- Blocs de constructions
- Binding Template
- Repeater
- Item Container
Étonnamment pour un OS orienté tactile, les contrôles List View et App Bar bénéficient d’un meilleur contrôle au clavier. List View va permettre l’utilisation de Vertical Grid et Grouped List Layouts afin de permettre plus de flexibilité pour créer des interfaces utilisateurs.
Les contrôles ne sont pas les seules améliorations. Le fonctionnement interne de la librairie va également être revu. Le ménage dans les contrôles va être simplifié par l’utilisation de la méthode dispose() qui va retirer le contrôle, mais aussi toutes les références s’y rapportant afin que le ramasse miette fonctionne correctement. La méthode dispose() est hiérarchique ce qui veut dire qu’un parent avec des enfants peuvent tous être retirés avec un seul appel à la méthode dispose() du parent. Le débogage asynchrone est simplifié, car la pile d’appels est maintenant plus informative et montre de façon plus compréhensible la liste des étapes d'exécution ayant abouti à l’appel d’une méthode asynchrone.
Pour plus d’information sur les nouveaux contrôles et ceux mis à jour, vous pouvez consulter la documentation de WinJS 2.0 preview.