Microsoft ouvre grand les portes de Windows 10 aux Progressive Web Apps

Microsoft ouvre grand les portes de Windows 10 aux Progressive Web Apps

Au risque de mettre en danger UWP

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

07/02/2018 6 minutes
21

Microsoft ouvre grand les portes de Windows 10 aux Progressive Web Apps

Dans un billet publié hier soir, Microsoft dévoile ses plans pour les Progressive Web Apps. Surprise, non content d’en ajouter la compatibilité dans Edge, l’éditeur souhaite leur donner une place importante dans Windows 10, jusqu’à les intégrer dans son Store.

Qu’Edge supporte prochainement les Progressive Web Apps n’est pas une nouveauté en soi. Microsoft l’avait déjà annoncé, et le statut du travail était fixé sur « En cours » depuis un moment. C’est la version 17.17063 du moteur EdgeHTML qui a inauguré en décembre ce support dans une préversion de Windows, actuellement dans sa branche de développement Redstone 4. Cette dernière débouchera sur la version 1803 du système, sa prochaine évolution majeure.

Mais le seul « support » n’intéressait visiblement pas Microsoft. L’éditeur veut aller beaucoup plus loin, en faisant des PWA des applications aussi bienvenues sur Windows 10 que les classiques. Au point de leur donner une véritable indépendance, une place dans le Store ainsi que des liens spécifiques avec son environnement UWP (Universal Windows Platform).

Progressive Web Apps : un concept qui divise

Le cœur d’une PWA est tout simplement une application web. Elle utilise des technologies web modernes pour se rapprocher autant que possible d’une application ordinaire. Mais ses capacités dépendent largement de la place laissée par le navigateur, ainsi – et surtout – par le système d’exploitation.

Google, qui a d’ailleurs créé l’expression, les pousse beaucoup en avant, leur donnant une place de plus en plus large sur Android. Apple apprécie nettement moins l’idée, continuant d’encourager les développeurs à utiliser son langage Swift, pour des performances qui, il est vrai, resteront forcément meilleures.

Pourtant, les notifications push, les Services Workers ou encore les WAM (Web App Manifest) sont des éléments ouvrant la voie à une véritable intégration des applications web sur une plateforme. Et c’est précisément ce que souhaite Microsoft.

Vers une égalité de traitement face aux applications classiques

Le support des PWA dans Edge signifie non seulement le support de technologies sous-jacentes, mais aussi une relative indépendance. Elles pourront être lancées directement depuis la barre des tâches par exemple, une fois l’application épinglée. Elles auront alors leur propre fenêtre. Un fonctionnement adopté par Chrome depuis un certain temps déjà.

Microsoft veut cependant aller plus loin. Les Progressive Web Apps seront prises en charge au niveau de Windows 10 lui-même. L’éditeur va donc autoriser les développeurs à proposer leurs PWA en vue d’une intégration dans le Store. Elles seront alors affichées comme des applications classiques, payantes ou non, avec installation, gestion, notifications, intégrations diverses et suppression.

Les PWA ainsi installées seront indépendantes et n’auront donc pas besoin d’une ouverture du navigateur. C’est bien le moteur EdgeHTML qui se tiendra derrière, ce qui donnera une occasion à Microsoft de pousser son navigateur, même si sa présence sera invisible. L’éditeur a d'ailleurs tout intérêt à s’assurer que les PWA s’exécuteront de la même manière qu’ailleurs, au risque de démotiver les développeurs face au Store.

« Citoyennes de première classe »

Vues par Redmond, les PWA doivent donc pouvoir s’utiliser comme n’importe quel autre logiciel. Pour les développeurs, les avantages mis en avant sont d’ailleurs les mêmes : statistiques sur les installations, désinstallations, partages, performances et ainsi de suite. Sans parler de la découverte potentielle dans le Store par les utilisateurs.

Les PWA installées depuis le Store seront en fait contenues dans des paquets APPX, comme les autres. Elles s’exécuteront chacune dans leur propre sandbox pour limiter leurs droits, réclamant des autorisations à l’utilisateur pour effectuer certaines actions, qu’il sera bien entendu libre de valider ou pas. Le menu Démarrer, le centre de notifications ou encore Cortana seront directement exploitables par les PWA.

Ces dernières pourront en outre accéder à l’ensemble des API disponibles dans la plateforme UWP, débloquant ainsi des accès aux contacts, calendriers et autres, encore une fois si l’utilisateur l’autorise.

Les développeurs intéressés sont donc invités à se pencher sur le nouveau PWA Builder, qui s’occupe de faire transiter une PWA vers un paquet APPX. Après quoi ils pourront se rendre dans le Dev Center et y gérer la publication dans le Store, comme une application ordinaire ou presque. Ils peuvent d’ailleurs utiliser le même Web App Manifest.

De son côté, Microsoft se sert de son Bing Crawler pour repérer les PWA, notamment celles qui semblent de « qualité ». Un petit nombre sera prochainement mis en avant dans le Store, les testeurs Insiders pouvant ainsi les installer dans les prochaines semaines.

Les dangers et avantages inhérents à un tel mouvement

Évidemment, les PWA représentent une certaine vision du futur, avec des mises à jour dont l’utilisateur n’aurait plus à se soucier puisque le code serait celui émis par le serveur de l’éditeur concerné. Mais Microsoft ne risque-t-il de mettre en danger ses propres API, à commencer par UWP ?

L’éditeur pose frontalement la question dans son billet, mais est d’avis qu’il s’agit « d’une fausse dichotomie ». Les PWA sont suffisantes dans de nombreux cas et pourront tirer parti d’UWP si besoin. Ce dernier restera préférable pour des applications plus poussées, mais aucune généralité n’est réellement valable, car l’entreprise devra considérer aussi les coûts de développement et analyser ses propres besoins, particulièrement en cas de stratégie multiplateforme.

Dans les grandes lignes, si une société souhaite publier rapidement du code pour de multiples plateformes, une PWA sera forcément plus séduisante. Si elle veut au contraire exploiter au mieux les capacités de chaque système, un développement plus natif sera à envisager.

Redmond rappelle en outre qu’il s’agira d’une première implémentation des PWA dans Windows 10. La situation évoluera par la suite, en fonction de l’utilisateur et des retours, tant des développeurs que des clients.

Les membres du programme Insider pourront tester ces capacités très prochainement, tandis que le reste du public devra attendre la mouture 1803 du système, qui doit être finalisée en mars et diffusée durant le Patch Tuesday d’avril.

En attendant, le choix de Microsoft envoie un signal assez clair à ceux qui hésitaient sur le choix technologique à opérer. La position de la firme ouvre un peu plus grand les portes aux Progressive Web Apps, désormais plus que bienvenues chez deux éditeurs majeurs. Peut-être de quoi faire évoluer la position d’Apple sur le sujet.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Progressive Web Apps : un concept qui divise

Vers une égalité de traitement face aux applications classiques

« Citoyennes de première classe »

Les dangers et avantages inhérents à un tel mouvement

Fermer

Commentaires (21)


ou comment une simple XSS inoffensive se transformera en une RCE :-)


Dans une sandbox ?


Aucune sandbox n’est infaillible


En gros, une PWA est forcément plus lente qu’une appli UWP. C’est le gros défaut qui semble sortir de l’article.

Sauf que Windows est pas loué pour sa rapidité, et de toute manière son interface le rend “lourd” et “lent” d’un point de vue sensation (il suffit de déverrouiller un PC windows 10 pour comprendre que sans SSD le système abdique)



Donc c’est finalement assez logique, chez Windows l’utilisateur lambda accepte que ce soit plus lent, vu que c’est windows. Donc les PWA ont toutes leur place.



J’espère quand même que pour les boite ce genre d’applis sera transitoire, le temps de déployer une version UWP <img data-src=" />


Il ne faut pas exagérer, Windows 10 a bien corrigé le tir du côté de la lourdeur d’exécution.

Personnellement je l’utilise au sein d’une machine virtuelle, sur un vieux PC portable de 2010 avec un HDD bien mécanique sans soucis. Ça démarre vite et les applications légères (traitement de texte, navigateur web…) ne sont pas lentes. Pas de sensations de lourdeur à déplorer.



Évidement, ce n’est pas aussi rapide que mon Gnunux installé comme système principale, mais les progrès sont bien sensibles par rapport aux anciennes moutures de Windows.








secouss a écrit :



il suffit de déverrouiller un PC windows 10 pour comprendre que sans SSD le système abdique



J’ai Windows 10 sur ma 2eme machine avec un disque dur plutôt lent, ce n’est clairement pas à ce moment que l’OS fait sentir sa lourdeur.









secouss a écrit :



En gros, une PWA est forcément plus lente qu’une appli UWP. C’est le gros défaut qui semble sortir de l’article.







UWP support le HTML/JS comme model applicatif depuis le début ( winRT en 2012) … ça sera plus lent que du natif, mais avec le webAsembly, les perfs seront très raisonnable



Mais comme dit dans l’article, vu que de nombreuses API sont déjà exposé en JS, une intégration plus poussé est pas impossible pour le dev qui veux









Torrone a écrit :



Il ne faut pas exagérer, Windows 10 a bien corrigé le tir du côté de la lourdeur d’exécution.

Personnellement je l’utilise au sein d’une machine virtuelle, sur un vieux PC portable de 2010 avec un HDD bien mécanique sans soucis. Ça démarre vite et les applications légères (traitement de texte, navigateur web…) ne sont pas lentes. Pas de sensations de lourdeur à déplorer.







Apparemment rs4 améliore encore ça sur les petites/vielles config ( rien de scientifique ni marketé par ms, juste 2-3 feedback vu sur le net )









Torrone a écrit :



Il ne faut pas exagérer, Windows 10 a bien corrigé le tir du côté de la lourdeur d’exécution.

Personnellement je l’utilise au sein d’une machine virtuelle, sur un vieux PC portable de 2010 avec un HDD bien mécanique sans soucis. Ça démarre vite et les applications légères (traitement de texte, navigateur web…) ne sont pas lentes. Pas de sensations de lourdeur à déplorer.



Évidement, ce n’est pas aussi rapide que mon Gnunux installé comme système principale, mais les progrès sont bien sensibles par rapport aux anciennes moutures de Windows.









Patch a écrit :



J’ai Windows 10 sur ma 2eme machine avec un disque dur plutôt lent, ce n’est clairement pas à ce moment que l’OS fait sentir sa lourdeur.





Pas taper pas taper ! ! ! ^^ Je ne dis pas qu’il n’y à pas un mieux, là dessus on est totalement d’accord, c’est même pas comparable tant on a gagné en vitesse.

Faut croire que j’ai pas de chance, un PC de 4 ans (haut de gamme) et un de 1 an (haut de gamme) ont quelques soucis au démarrage. Et pour les applis l’horreur, outlook met genre 2 à 3 minutes à se lancer … Mais une fois lancé ça tourne au poil.

Mis à part le Superfetch finalement qui me bouffe mon accès disque ça marche bien.



&nbsp;





Firefly’ a écrit :



UWP support le HTML/JS comme model applicatif depuis le début ( winRT en 2012) … ça sera plus lent que du natif, mais avec le webAsembly, les perfs seront très raisonnable



Mais comme dit dans l’article, vu que de nombreuses API sont déjà exposé en JS, une intégration plus poussé est pas impossible pour le dev qui veux



&nbsp;

Je vois, merci du petit plus d’explication !



&nbsp;



Firefly’ a écrit :



Apparemment rs4 améliore encore ça sur les petites/vielles config ( rien de scientifique ni marketé par ms, juste 2-3 feedback vu sur le net )





Yep je confirme, c’est aussi l’impression que j’ai sur le mien. J’avais de vrai soucis, genre la page de lancement s’affiche, tu clique et il faut entre 30 et 50 secondes pour voir la fenêtre de connexion apparaître. Ensuite encore 20 secondes pour que le système passe la fenêtre de chargement.

Je dirais au pifomètre que ça a réduit de 25 à 50% avec la RS4 actuellement en insiders.









secouss a écrit :



il suffit de déverrouiller un PC windows 10 pour comprendre que sans SSD le système abdique&nbsp;





C’est surtout qu’au bout d’une semaine d’utilisation le ssd deviens indispensable et repasser sur un disque dur mécanique une vrai horreur.



2 min pour outlook et 30s pour la fenêtre de connexion, ya un gros problème, là sur ta machine (hard ou soft j’en sais rien) mais clairement c’est pas le fonctionnement normal de w10. Ce serait donc bien de ne pas généraliser …


Tu peux rechercher comment transformer une XSS en une RCE sur les electrons app par ex., c’est relativement simple.

D’ailleurs, Meltdown nous a démontré qu’il y a différents niveaux d’attaques.




Redmond rappelle en outre qu’il s’agira d’une première implémentation des PWA dans Windows 10. La situation évoluera par la suite, en fonction de l’utilisateur et des retours, tant des développeurs que des clients.





Bref, il est urgent de continuer a faire du win32 et du .net en attendant la future techno Windows qui va tout déchirer tellement qu’elle est bien et qu’elle va unifier le desktop, le smartphone et le lave-linge.


Retour aux sources ? Ça fait un peu penser à Windows 98 (SE?) qui mettait le navigateur MS de l’époque au cœur du système pour mieux tuer les alternatives, avec succès (bon c’était pas la seule raison).

Mais à l’époque ratais complètement le coche sur l’intégration de sortes d’appli web sur le bureau (je me souvient plus du nom ?). Le truc que tous le monde désactivait juste après l’install de zin.

&nbsp;

&nbsp;Et mon petit doigt me dit que les dev de PWA vont vite demander plus d’interactions avec le système, et Microsoft évidement “à l’insu de leur plein grès” (il n’y avaient même pas pensé <img data-src=" />) vont devoir leur proposer des fonctions uniquement compatibles avec un Windows 10 rendant ces PWA complètement incompatible, ou compliquer à maintenir pour&nbsp; d’autres environnements…

Le contexte étant nettement différent de 98, ce serai peut-être périlleux de leur part de tenter le coup ?








secouss a écrit :



En gros, une PWA est forcément plus lente qu’une appli UWP. C’est le gros défaut qui semble sortir de l’article.

Sauf que Windows est pas loué pour sa rapidité, et de toute manière son interface le rend “lourd” et “lent” d’un point de vue sensation (il suffit de déverrouiller un PC windows 10 pour comprendre que sans SSD le système abdique)&nbsp;



Le choix d’une appli PWA pour une appli lourde serait un mauvais choix. On va pas refaire blender en PWA.

Quand à la lenteur de Windows 10, j’ai plein d’exemple qui montrent que non, il n’est pas plus lent/lourd à l’usage que Windows 7. Sur des HDD et des core 2 duo (voir Core SOLO!)

Et pour utiliser Linux à côte en ce moment, si sous Linux l’ouverture des fenêtre est plus rapide (et ça dépend du soft… Libreoffice charge plus vite sous Windows) à l’utilisation c’est un clear win pour Windows pour ce que je fais (traitements libreoffice)

Quand aux PWA plus lentes, à voir. En effet, une une UWP fait souvent charger des dll, là où la PWA démarre des JS. La taille d’une PWA est certainement plus petite qu’une UWP.



Si tu trouves Windows lourd, je t’invite à utiliser des softs des années 90 sous Windows: 0 dll, tout dans l’exe, quelques ko à 2-3Mo. Chargement instantané.

A comparer à des softs qui chargent des librairies XML complète pour parser un fichier de config.



Apple doivent encore être échaudés par leur tentative ratée d’utiliser des applications Web en tant que base d’applications pour les iPhones…



D’ailleurs des applications Web (qui vont bien plus souvent nécessiter une connexion Internet pour pouvoir fonctionner que des applications locales) ont du coup bien plus de sens sur des ordinateurs fixes que mobiles !


Active Desktop ? On était quand même loin d’une “appli” web !

Je pense aussi que les limitations (existantes aussi pour UWP) sur les API systèmes vont finir par être le prochain point bloquant, sauf qu’à un moment donné c’est compliqué d’avoir des sandbox et de pouvoir faire tout ce qu’on veut


Tant qu’à troller,<img data-src=" /> autant que ce soit énorme !!


Active Desktop, le truc qui plantait trop régulièrement sur Win98…&nbsp; Souvenirs souvenirs…








zadlg a écrit :



Tu peux rechercher comment transformer une XSS en une RCE sur les electrons app par ex., c’est relativement simple.

D’ailleurs, Meltdown nous a démontré qu’il y a différents niveaux d’attaques.



&nbsp;

Mais une PWA n’a rien à voir avec Electron… Elle s’execute dans un vrai navigateur et n’a pas de super-pouvoirs issus de Node. C’est sûr qu’il peut y avoir des failles mais n’allez pas me dire que vous n’utilisez pas le web : vous ne liriez pas ce texte ;)



Quant à la vitesse, justement les applis Electron (type VS-Code) sont là pour prouver que JS/HTML ne sont pas si lents que ça !



– disclaimer – : je développe des PWA









Chocolat-du-mendiant a écrit :



&nbsp;



 &nbsp;Et mon petit doigt me dit que les dev de PWA vont vite demander plus d’interactions avec le système, et Microsoft évidement "à l'insu de leur plein grès" (il n'y avaient même pas pensé <img data-src=">) vont devoir leur proposer des fonctions uniquement compatibles avec un Windows 10 rendant ces PWA complètement incompatible, ou compliquer à maintenir pour&nbsp;  d'autres environnements...       

Le contexte étant nettement différent de 98, ce serai peut-être périlleux de leur part de tenter le coup ?








Ce serait déjà le cas, vu qu'il serait possible d'utiliser Cortana, ce qui n'est pas rien et présent nul part ailleurs.      






Du coup je vois mal comment cette phrase « L’éditeur a d'ailleurs tout intérêt à s’assurer que les PWA s’exécuteront de la même manière qu’ailleurs&nbsp; » puisse être correcte. Selon l'intégration apportée par le développeur, ça peut entraîner une différence à l'usage qui sera noté par l'utilisateur.      






Après c'est vrai que c'est Cortana, la première chose que je désactive sur toute machine qui  passe dans mes mains <img data-src="> ...      






Et il est vrai que presque tout le monde s'asseoit sur les standards et souvent avec raison. Les Webextensions par exemple ne sont respectés scrupuleusement par AUCUN navigateur. Firefox et Opera supporte celles demandant des sidebars (merci, MERCI. Tree Style Tabs, te revoilà !) alors que Chrome l'interdit (pas de Tree Tabs ? boouuuhhhh), etc. alors bon...








TheKillerOfComputer a écrit :



Firefox et Opera supporte celles demandant des sidebars (merci, MERCI. Tree Style Tabs, te revoilà !) alors que Chrome l’interdit (pas de Tree Tabs ? boouuuhhhh), etc. alors bon…





mais, MAIS.&nbsp;Tree Style Tabs&nbsp;va pouvoir remplacer feu Tab Groups !?

je vais pouvoir passer à Firefox 57!?



merci, MERCI !!!