Dev
Ce que les DSI doivent retenir de la Build 2020
Par Laurent Delattre, publié le 27 mai 2020
Grande messe des développeurs de l’éditeur, la Microsoft Build est une conférence toujours très riche en contenus et en enseignements. Voici une liste non exhaustive des principales annonces et tendances à retenir…
Transformée en marathon vidéo de 48 heures avec 85% des intervenants diffusant leurs démonstrations de leur cuisine, leur jardin ou leur sous-sol, la Build 2020 « format confinement » est paradoxalement l’une des meilleures éditions de la conférence. Un contenu riche, des sessions courtes et ciblées, et une atmosphère familiale ont dicté un rythme dynamique et inspireront sans aucun doute tous les grands acteurs du marché (Apple, Google, Amazon, Salesforce, etc.) qui s’apprêtent eux aussi à décliner leurs grands événements IT en format vidéo.
La Build offre traditionnellement un contenu très orienté développement. Elle offre de la perspective autour des services Azure qui permettent d’accélérer le « move to cloud » et la production d’applications métiers mais aussi autour du développement Windows et du développement multi-plateformes. Dès lors, son contenu est souvent instructif pour les DSI pour saisir les grandes tendances du moment et des opportunités permettant d’accélérer la transformation numérique et de permettre à leur entreprise de se démarquer.
Un méli-mélo de plateformes qui s’éclaircit…
L’annonce la plus importante de la Build 2020 aura sans doute été « Project Reunion ». Depuis Windows 8, le développement sous Windows est handicapé par une lutte fratricide entre les API Win32 historiques (dont l’univers .NET Framework) et les API « UWP » conçues à l’origine pour un monde tactile et qui visait à offrir une seule plateforme commune à Windows Desktop, Windows Mobile, Windows Hololens, Windows IoT, et Xbox One. Avec la disparition de Windows Mobile, l’univers UWP a vite perdu du sens puisqu’il existe finalement bien peu d’applications qui aient du sens à la fois sur le bureau Windows et dans les autres plateformes. En outre la plateforme UWP avait à l’origine bien des limitations qui n’ont pas encouragé les éditeurs et encore moins les entreprises à l’adopter en place de Win32.
À la Build 2020, Microsoft a enfin annoncé une réunification des deux visages de Windows avec « Project Reunion ». À termes, nous ne parlerons plus de logiciels Win32 et d’apps UWP mais simplement d’ « applications Windows ». « L’idée derrière Project Reunion est de permettre aux développeurs de construire une application Windows et de cibler le milliard d’appareils sous Windows 10 », explique Rajesh Jha, vice-président exécutif du Groupe Expériences et Périphériques de Microsoft. « Nous combinons win32 et UWP, de sorte que les développeurs n’aient plus à choisir, en unifiant ces API et les découplant du système d’exploitation ». Ce dernier point est par ailleurs fondamental : en découplant les API existantes du système, Microsoft se donne bien plus de liberté d’évolution et assure ainsi les développeurs d’une compatibilité de leurs applications avec toutes les versions de Windows supportées.
La brique fondamentale de ce Project Reunion n’est autre que WinUI 3. Né du projet open source .NET Core, WinUI 3 devient l’API des interfaces utilisateur de demain. Mais contrairement à UWP qui imposait aux développeurs de reconcevoir toutes leurs applications existantes, Project Reunion et WinUI 3 permettent aux développeurs de logiciels Win32 et aux développeurs d’applications métiers de moderniser progressivement leurs interfaces sans rien toucher à leur code principal ! Pour faire simple, le développeur recrée sous WinUI chacune de ses boîtes de dialogue et de ses WinForms. Dès qu’un élément de l’UI est terminé il peut l’activer d’un claquement doigt ou presque.
En procédant ainsi, Microsoft va enfin permettre à l’univers des logiciels Windows et des applications d’entreprise de se moderniser avec un look contemporain et sans effort majeur pour les devs. Une approche qui aurait dû être adoptée dès le départ… dès la conception de Windows 8.
Rapprocher Windows et Devs Mobiles
La démarche de départ de Windows 8 et d’UWP cherchait à inviter les développeurs mobiles à continuer à s’intéresser à l’univers Desktop en simplifiant la création d’apps pour les deux mondes. L’échec de Windows Mobile et le fiasco UWP n’ont fait qu’élargir le fossé entre Windows et les développeurs mobiles. Mais le besoin reste présent. Toutes les innovations semblent aujourd’hui se faire d’abord sur les devices mobiles. Une situation intenable pour Windows.
Pour Microsoft la solution passe par des technologies permettant aux développeurs de créer des apps pour toutes les plateformes qu’elles soient mobiles, desktop ou WEB.
Et l’éditeur poursuit deux pistes : MAUI et PWA…
MAUI, acronyme de Multi-platform App UI, est une évolution des « Xamarin Forms » qui s’appuie sur .NET 6 (autrement dit qui se concrétisera en novembre 2021). Objectif, tenir une promesse que sa technologie cross-plateforme Xamarin n’a jamais concrétisée : un seul projet, un seul code, une seule UI native, pour tous les appareils mobiles comme desktop.
Avec .NET 5, Microsoft a unifié en open source la plate-forme .NET, en rassemblant .NET Framework, .NET Core et Mono/Xamari. « À quoi doit ressembler la création d’applications multi appareils dans un monde .NET unifié ? La réponse à cette question c’est ‘.NET Multiplatform App UI’, appelée affectueusement .NET MAUI, une solution universelle pour créer des applications natives d’Android à iOS, de Windows à macOS » résume Scott Hunter, directeur du projet chez Microsoft. MAUI fera partie intégrante de .NET6 et sera bien évidemment publié en Open Source comme tout ce que Microsoft fait depuis quelque temps en matière de plateformes et de développement.
PWA (Progressive Web App) est l’autre piste poursuivie par Microsoft, histoire de ne pas mettre tous les œufs dans le même panier et cibler les développeurs Web peu habitués aux technologies .NET. Microsoft a notamment rejoint Project Fugu, un effort supporté par Intel, Google, Samsung et de nombreuses communautés Web pour faire encore progresser les capacités des PWAs. Rappelons que ces dernières sont des applications qui s’appuient intégralement sur des technologies Web (HTML5, CSS, JavaScript, frameworks Web) mais sont affichées dans leur propre fenêtre native plutôt que dans le navigateur Web. Microsoft est en train d’insuffler dans Windows des améliorations pour que ces Apps se comportent plus encore comme des Apps natives : accès natif au système de fichiers, associations de fichiers, autolancement au démarrage du système, personnalisation de la barre de titre, support des jump-lists, apparition dans les outils de gestion d’applications du système comme n’importe quelle autre application.
Pour les entreprises, ce support étendu des PWA Apps est essentiel. Depuis longtemps, elles se demandent quelles technologies employer pour supporter un maximum de plateformes différentes avec un minimum d’efforts de développement. Et c’est exactement la promesse des PWA.
Windows se fortifie grâce à Linux
Les liens entre Windows et Linux n’ont jamais été serrés. Il est bien loin le temps où Steve Balmer considérait Linux comme un cancer. Désormais, Linux se font de façon transparente dans Windows pour simplifier la vie des développeurs et des administrateurs.
Linux se fond dans Windows 10 : Avec Windows 10 version « 2004 », dont le déploiement doit débuter le 27 mai, Microsoft réinvente complètement son « Windows Subsystem for Linux ». Depuis deux ans et l’introduction de WSL1, Microsoft essaye de convaincre tous les développeurs Web et Linux d’utiliser Windows comme système de développement. WSL supportait plusieurs Bash Linux au travers d’une conversion à la volée des appels Kernel Linux en appels Windows. WSL2 adopte une approche très différente en exécutant un vrai Kernel Linux (signé Microsoft) au cœur même de Windows dans une VM très compacte. Grâce à cette nouvelle implémentation, les utilisateurs de Windows (y compris de la version familiale !!!) pourront bientôt non seulement lancer les applications Linux en ligne de commandes mais également les applications graphiques ! Officiellement, cette option permet aux développeurs d’utiliser sous Windows tous les IDE graphiques Linux. Dans la pratique, Microsoft va bien plus loin en assurant un support de DirectX 3D sous Linux (via WSL2) et cherche clairement à fusionner Linux dans Windows, faisant en quelque sorte de Windows 10 une distribution spéciale de Linux et imposant le bureau Windows comme une interface utilisateur naturelle de Linux.
Windows se dote d’un Package Manager. Microsoft avait déjà mis fin à « Windows Store for Business ». Le Windows Store tel qu’on le connaît paraît lui aussi sur la sellette. S’inspirant de Linux, Microsoft lance son propre « gestionnaire de packages » : Winget. Conçu en open source, il permet de déployer une ou plusieurs applications Windows en une commande. À l’avenir, il assurera aussi la mise à jour des applications. Il existait déjà des Package Managers sous Windows tels que Chocolatey et Ninite. Mais l’arrivée d’une vraie solution signée Microsoft et open source offre l’avantage d’avoir un outil standardisé dont le contenu est en outre protégé et surveillé par les protections Microsoft comme SmartScreen. Winget devrait donc rapidement s’imposer. On y trouve déjà davantage de packages que sur ses concurrents et surtout on y trouve des applications qui n’ont jamais trouvé leur chemin jusqu’au Windows Store. À terme, ce dernier ne devrait devenir qu’une interface conviviale utilisant Winget en sous-bassement.
Windows Terminal est disponible en version 1.0. Une disponibilité qui confirme également que le successeur de l’ancestral terminal de Windows est désormais prêt pour l’entreprise. Les administrateurs et développeurs peuvent utiliser ses multiples onglets pour lancer simultanément une invite de commande Windows, une invite PowerShell, une invite Azure Cloud Shell et différentes invites Linux. Windows Terminal, qui rappelons-le est développé en open source, supporte les panneaux multiples, l’affichage en couleur, la création de thèmes et s’appuie sur un moteur de rendu des caractères exploitant les GPU. Indispensable.
Azure veut offrir un Machine Learning digne de confiance
Il n’y a pas de conférence Microsoft sans une pluie d’annonces Azure. Mais nous n’en avons retenu ici qu’une seule : Responsible ML.
L’idée consiste à enrichir Azure Machine Learning de nouveaux outils et SDK open source permettant de mieux comprendre les modèles ML, de contrôler le processus ML de bout en bout et de mieux protéger les personnes et leurs données privées. Avec un objectif, donner de la transparence aux IA et aux déductions/prédictions en ML.
La solution s’appuie sur des fonctionnalités d’explicabilité des ressources (basées sur InterpretML), sur des mécanismes de réduction des biais (basés sur Fairlearn) et sur des techniques de confidentialité différentielle pour s’assurer d’un respect du GDPR et des données privées.
Des nouveautés dans Office 365 et Teams
Bien plus des logiciels SaaS, Office 365 et Teams sont des plateformes sur lesquelles les entreprises peuvent s’appuyer pour bâtir leurs applications métiers. Plusieurs annonces viennent le rappeler et enrichir les capacités de ces plateformes…
Microsoft Lists, un Access réimaginé pour le Web. Microsoft Lists est une nouvelle application SaaS qui vient enrichir la galaxie Office 365/Microsoft 365. Contrairement à ce que l’on pourrait croire, il ne s’agit pas d’une énième solution de gestion de choses à faire, il y a Microsoft To Do pour faire ça. Ni même d’une version allégée de Project, il y a Microsoft Planner pour ça. C’est une application pour aider les uns et les autres à organiser le travail en s’appuyant sur une vision tabulaire façon AirTable. Typiquement, Microsoft Lists est fourni avec des modèles pour assurer un suivi de tickets de support, gérer l’organisation d’un séminaire ou d’un grand événement, gérer des rapports d’activité, gérer des actifs, gérer un recrutement, etc. Dans les faits, Microsoft Lists ressemble beaucoup aux usages que les entreprises avaient de Microsoft Access dans les années 90. Et sur bien des points, le logiciel évoque ce qu’aurait pu être une version 100% pensée pour le Web d’Access. La force de Microsoft Lists (qui étend le concept de Listes de Sharepoint) est d’offrir une forte intégration à Outlook et à Teams. Lists est également intégré à Power Apps et Power Automate pour associer les listes aux workflows. Pour en savoir plus, le plus simple est encore de jeter un œil à cette présentation vidéo.
Teams renforce ses intégrations. Véritable Hub protéiforme, Teams ne cesse d’enrichir. Dans les prochaines semaines, il se verra enrichi de modèles personnalisables, d’une intégration renforcée avec Power Apps (intégration des Power Apps dans Teams) et Power Automate, et de l’apparition d’extensions Visual Studio pour fluidifier le développement des « Teams Apps », ces applications directement intégrées au cœur du hub collaboratif.
Fluid Framework réinvente le Web et la bureautique… Un an après son annonce, le Fluid Framework se concrétise en open source. Ce framework définit un nouveau modèle de documents (construits à partir de multiples briques façon Légo) conçu pour l’ère du Web qui peut être partagé entre plusieurs applications, peut être étendu par des agents et qui autorise une co-édition à plusieurs d’une façon plus rapide et plus fluide que ce que Google Docs ou Office Word Web App n’ont jamais réussi à offrir. Fluid Framework devrait prendre une importance croissante dans les prochaines semaines au cœur d’Outlook Web, de Teams et des applications Word, Excel et PowerPoint. À terme, il pourrait bien s’imposer comme le futur format de tous les documents de productivité de la suite Office. Et comme le framework est en open source, il va pouvoir être adopté par toutes les applications, qu’ils s’agissent d’applications bureautiques concurrentes ou d’applications métiers créées par les entreprises.
Au final, cette conférence Build aura été d’une étonnante richesse. On attend avec curiosité de voir comment les autres acteurs du marché vont gérer leurs nouveaux événements en ligne et comment Microsoft concrétisera son autre « méga conférence », Microsoft Ignite.