Developpez.com - Rubrique JavaScript

Le Club des Développeurs et IT Pro

WinJS 4.0 : la bibliothèque JavaScript UI de Windows sera orientée applications Web

Et ne se centre plus uniquement sur Windows Phone 8

Le 2015-04-01 15:54:57, par vermine, Expert éminent sénior
WinJS 4.0 : la bibliothèque JavaScript UI de Windows sera orientée applications Web
et ne se centre plus uniquement sur Windows Phone 8


WinJS (Windows Library for JavaScript) est une bibliothèque d'interface utilisateur proposée par Microsoft pour développer des applications multiplateformes avec JavaScript.

Microsoft l'utilise déjà depuis un certain temps dans ses applications Windows 8. Cette bibliothèque est un ensemble de contrôles d'interface utilisateur qui prennent en charge les périphériques portables, et aussi quelques API JavaScript modernes pour les choses que l'on s'attend à retrouver par défaut : les promises, la gestion réseau, les liaisons de données et les templates.


Le style de l'interface utilisateur s'inscrit dans celui de Windows 8. Si les applications WinJS devraient fonctionner dans les navigateurs et plateformes modernes (Chrome, FireFox, Androïd, iOs, ... ), on parlait au début d'un soutien spécifique pour Windows Phone 8 et d'autres plateformes de Microsoft. Même s'il y a des adaptations esthétiques à faire, il semble que la portabilité est relativement présente.

L'équipe nous présente ce que contiendra la version 4.0 (prévue cette année) qui sera alors également orientée applications Web. Elle permettra des expériences dîtes universelles. C'est-à-dire que les applications fonctionneront sur toutes tailles d'écrans et tous types d'appareils (que ce soit par l'utilisation du clavier, de la souris, d'un écran tactile, etc.). C'est sur ce dernier aspect que WinJS entend se différencier des autres outils de responsive Web design.

Il y aura ensuite un SplitView qui permet d'atteindre facilement le comportement d'une mise en page adaptive avec un menu de navigation amovible sur la gauche et la zone de contenu principale sur la droite.


L'équipe va encore plus loin et parle d'une barre d'outils responsive (le composant ToolBar) qui affiche automatiquement le bon nombre de commandes pour la taille de l'écran actuel.


C'est l'occasion d'améliorer la tabulation dans la boite de dialogue afin que le parcours entre les éléments ne soit plus totalement aléatoire mais réfléchi et logique, et ce en tenant compte de l'aspect responsive/adaptive de l'écran.
La fonctionnalité XYFocus fait son apparition. Elle permet de facilement implémenter la navigation d'un groupe arbitraire d'éléments HTML dans les quatre directions cardinales. Ce qui est utile par exemple pour le support de la manette ou bien pour être liées aux touches du clavier (que ce soit les flèches ou d'autres touches).

L'interopérabilité est importante pour WinJS. En plus des couches compatibles avec ReactJS et KnockoutJS (pour citer des cas populaires), il y a maintenant une couche avec AngularJS, framework dont on entend beaucoup parler pour le moment, notamment en relation avec un autre outil de Microsoft. On parle ici de directives, de data-binding, etc.

Notons ensuite la mise à jour des ListView afin de simplifier le modèle d'interraction qu'il soit en lecture seule, simple, multiple ou étendu. Il sera possible d'utiliser d'autres styles d'affichage et on peut ajouter un pied de page annonçant l'état du chargement.


Utilisez WinJS pour créer des applications avec HTML, CSS et JavaScript. L'outil fournit :
  • une infrastructure de haute qualité ;
  • la gestion des contrôles des pages ;
  • les promises ;
  • la liaison de données ;
  • la virtualisation des collections ;
  • une haute performance avec les contrôles Windows (ListView, FlipView, Semantic Zoom, etc.) ;
  • et bien d'autres choses.


Il s'agit d'une boîte à outils complète pour une solution autonome ou en lien avec d'autres frameworks et bibliothèques.

Télécharger la préversion de WinJS 4.0

L'info sur le blog de Windows.

Et vous ?

Connaissiez-vous WinJS, que pensez-vous de cette bibliothèque ?
Attendiez-vous ces fonctionnalités ?
  Discussion forum
6 commentaires
  • Nicam
    Membre confirmé
    Stailer : a un petit (tout petit) détail près : Telerik (Et plus particulièrement KendoUI) est loin d’être gratuit (même si une version open existe, mais incomplète).

    Certes, on trouvera toujours du gratuit, mais aucune certitude inhomogénéité n'est envisageable, sans compter les incompatibilités entre librairies.
  • stailer
    Membre chevronné
    Mouais c'est pas mal... Chaque composant est très fluide, articulé autour d'animations très Win8.1.
    Pour une appli mobile (j'entends sur smartphone) ça peut être intéressant.

    Maintenant pour tablette ou pc, les autres font davantage et tellement mieux (je pense à telerik ou devexpress par exemple)... Même avec du bootstrap et des composants jquery piochés sur le net on peut faire mieux.

    Donc à suivre, il y a des choses très intéressantes au niveau du code mais pour l'instant trop jeune et pas assez complet pour de la prod, à mon avis.

    EDIT:
    J'avais pas vu cette phrase :

    Il s'agit d'une boîte à outils complète pour une solution autonome ou en lien avec d'autres frameworks et bibliothèques.
    Pour moi cumuler des bibliothèques entières dans la même appli est un non-sens. Surtout aujourd'hui ou la plupart des éditeurs proposent tout ce qui faut pour une application complète.
    On peut éventuellement ajouter quelques composants légers ou développer ses propres composants... Mais cumuler par exemple cette bibiliothèque WinJS avec un JQWidgets .. Ufff... Trop lourd, trop gourmand etc..
  • TiranusKBX
    Expert confirmé
    Cette lib sert surtout à ajouter des fonctions permettant l'accès à d'autres programmes des données périphérique, le statut connexion et l'exploration du réseau
    dire qu'elle est superflue en dev appli JS pour les APP Win8 est abérent
  • stailer
    Membre chevronné
    dire qu'elle est superflue en dev appli JS pour les APP Win8 est abérent
    Justement je parlais en terme d'applications Web au sens général, pas uniquement accès Win8, puisque c'est son but je te rappelle.

    Par contre quand tu dis :

    le statut connexion et l'exploration du réseau
    HTML5 de base permet déjà d'obtenir le statut de connexion et diverses librairies facilitent déjà l'accès à "d'autres programmes des données périphériques" (si tu entends par là le GPS et l'accéléromètre par exemple).
    En me baladant sur les démos de la librairie je n'ai absolument pas trouvé de code pour l'exploration du réseau. Un exemple ?
  • TiranusKBX
    Expert confirmé
    non ça fait tellement longtemps que j'y ais pas touché que je n'en ais plus
  • stailer
    Membre chevronné
    Merci pour la précision Nicam mais là aussi même réponse : la gratuité n'était pas le sujet.

    Sinon quand tu dis :

    sans compter les incompatibilités entre librairies
    On est d'accord, c'est exactement ce que je voulais dire par :

    Mais cumuler par exemple cette bibiliothèque WinJS avec un JQWidgets .. Ufff... Trop lourd, trop gourmand etc..