Build 2019 : l'avenir unifié de .NET, les ambitions d'Edge et la déferlante Azure

Windows et Office en seconde classe 17
Accès libre
image dediée
Développeurs
Vincent Hermann

La conférence Build de Microsoft s'est finie mercredi, avec à la clé une longue liste d'annonces, très orientées vers les développeurs. Outre l'habituel déluge pour Azure, Microsoft a évoqué l'avenir de .NET, les fonctions à venir dans Visual Studio et de nouvelles informations sur son Edge remanié.

Contrairement à la conférence F8 de Facebook, la Build de Microsoft est cette année particulièrement riche en annonces. Nous en avons déjà abordé une partie : l’arrivée d’un noyau Linux, de WSL 2 et d’un nouveau Terminal pour la fin de l’année, plusieurs nouveautés attendues pour Edge dont une préversion a priori imminente pour macOS, la compatibilité SSO pour les comptes GitHub, de nouveaux abonnements mariant Visual Studio et GitHub, ou encore Visual Studio Online, une version en ligne de l’éditeur et présentée comme un compagnon de l’environnement de développement.

Mais la liste est loin de s’arrêter là. La Build est traditionnellement l’évènement où Microsoft aborde le futur d’Azure, sa plateforme cloud que la firme présente désormais comme un « ordinateur mondial ». Outre les nouveautés attendues pour Visual Studio, avec nouvelles préversions à la clé, l’éditeur a également décrit ses plans pour .NET 5.0.

.NET 5.0 : l’avenir unifié du développement chez Microsoft

C’est une annonce majeure : après .Net Core 3.0 en cours de finalisation, la prochaine version sera la 5.0. Pourquoi ? Parce qu’il n’y aura plus d’un côté .NET et de l’autre .NET Core, mais une seule branche pour répondre à tous les besoins. Le choix du numéro a été décidé pour éviter toute confusion avec l’actuelle branche 4.x de .NET.

Concrètement, .NET Core 3.0 sera finalisé en septembre. En novembre sortira une version 3.1 LTS, donc avec un support à long terme. Ce sera la dernière mouture avant l’unification prévue pour .NET 5.0. Cette dernière sortira en novembre 2020. Puis, chaque année à la même période, sera publiée une nouvelle version majeure de l’environnement. Des moutures mineures seront insérées si besoin. La version 8.0, prévue pour novembre 2023, sera une nouvelle LTS.

Les évolutions prévues pour .NET 5.0 ont toutes un lien avec l’élargissement de la plateforme, le support des différents sytèmes et l’accroissement des capacités via les API. L’initiative .NET Core est partie d’un besoin de repenser la plateforme, avec un passage à l’open source et une présence sur Linux et macOS.

Depuis la première version, Microsoft a ajouté environ 50 000 API pour en augmenter l’attrait et ne plus laisser .NET Core comme une technologie certes prometteuse, mais limitée aux applications serveurs pour l’essentiel.

.net 5.0

.NET 5.0 gardera donc tout ce que l’on trouve actuellement dans Core, mais y ajoutant une plus grande variété de scénarios d’exécution, l’interopérabilité Java sur toutes les plateformes, l’interopérabilité Swift et Objective-C sur plusieurs systèmes d’exploitation ou encore une extension pour CoreFX afin qu’il prenne en charge la compilation statique, nécessite moins de place et élargisse son support des plateformes.

Microsoft en profite pour faire le point sur les scénarios de compilation. La plupart des charges de travail en .NET 5.0 feront appel au runtime CoreCLR basé sur JIT (à la volée). Les développeurs qui auront besoin de compilation AOT (anticipée) pourront utiliser soit Mono, lui-même basé sur le compilateur LLVM, soit .NET Native pour les applications UWP, mais dont les API .NET sont actuellement limitées.

CoreCLR et Mono vont se rapprocher. S’il n’est prévu aucune fusion (les deux ont leurs spécificités), ils pourront néanmoins être échangés. Les développeurs pourront ainsi utiliser le runtime qu’ils souhaitent, selon leurs besoins. Certains types de projets réclament une compilation particulière comme le mode AOT pour les applications iOS qui continueront de faire appel à Mono, comme actuellement au sein de Xamarin (dont il est le runtime).

Mono supporte également les cas d’utilisation où une compilation AOT est majoritaire, mais où le JIT peut prendre le relai quand la situation s’y prête, notamment sur les génériques.

Toutes les applications .NET 5.0 utiliseront le framework CoreFX, qui deviendra compatible (à plus de 99 %) avec Xamarin et Blazor (côté client). Selon Microsoft, la machine virtuelle Mono peut actuellement se servir dans les tests internes de CoreFX et de ses bibliothèques, tous les tests CoreFX fonctionnent, de même que les applications .NET Core 3.0.

L’éditeur aura certainement beaucoup plus à dire sur le sujet pendant la conférence Build de l’année prochaine, puisque l’on s’approchera de la finalisation du projet.

Le framework Fluid veut décomposer les éléments web

Microsoft proposera plus tard dans l’année un nouveau framework baptisé Fluid, destiné à simplifier la vie des développeurs travaillant sur des solutions collaboratives. Il doit apporter trois avantages clés.

Tout d’abord, le support de la création collaborative, « à des performances jamais vues » selon la société. Ensuite, un modèle de document décomposable en blocs que les développeurs peuvent réutiliser, dans une page web ou une application. Enfin, le modèle prévoit l’insertion d’agents « intelligents » agissant en temps réel sur les contenus.

Dans ses démonstrations, Microsoft a présenté une traduction en direct dans Word pour chaque participant ou encore le partage en temps réel de tableaux dans une conversation Teams. Tous ces essais ont été montrés dans le nouvel Edge, Chrome, Firefox et l’ancien Edge pour bien en démontrer la compatibilité.

On n’en sait guère plus pour l’instant, sinon que la société compte utiliser son propre framework dans ses services 365 pour en optimiser le fonctionnement. Là encore, il faudra sans doute attendre quelques mois pour en savoir plus.

Microsoft Build Fluid

Cortana prépare sa petite révolution conversationnelle

Voici probablement l’une des démonstrations les plus « parlantes » de la conférence. Microsoft y évoquait son travail actuel sur les agents intelligents et la manière dont ils sont actuellement limités en matière de contexte.

La plupart de ces agents sont conçus pour une situation particulière et ne réagissent que dans le contexte pour lequel ils ont été créés, par exemple un bot de service client. L’éditeur propose de faire sauter les barrières et de permettre aux agents de communiquer entre eux pour créer une expérience utilisateur plus proche d’une conversation normale.

La vidéo montre le résultat de ces travaux dans Cortana tel que l’assistant se présentera plus tard dans l’année (version 1909 de Windows 10 ?). On peut y voir des réponses naturelles à des demandes dont le contexte évolue sans cesse, mais en tenant compte des informations précédemment fournies.

Une grille d’icônes permet de suivre les éléments contactés selon les commandes de l’utilisatrice. Ce travail est le résultat du rachat l’année dernière de Semantic Research. Il ne s’agit malheureusement pour l’instant que de démonstrations et aucune annonce plus concrète n’a été faite. On ne sait pas quand cette technologie sera réellement disponible, Microsoft ne mentionnant qu’une arrivée « plus tard » dans le Bot Framework.

Microsoft Search finalisé et en cours de déploiement

Malgré son nom, Microsoft Search n’est pas un moteur de recherche classique. Il n’a pas vocation à remplacer Bing. Il arrive chez tous les clients Microsoft 365 et se veut un moteur centré sur la productivité.

De la même manière que le futur Cortana saura comprendre le contexte d’une commande, Search a pour mission de donner à l’utilisateur ce qu’il cherche en fonction de ce qu’il est en train de faire, sans avoir à quitter le travail en cours. Il doit donc brasser l’ensemble du contenu accessible d’une entreprise pour offrir les sources les plus pertinentes, selon de multiples facteurs. Orange aussi travaille sur un assistant du genre, une première version nous avait été présentée durant le salon de la recherche de l'opérateur.

Office, SharePoint, OneDrive, Outlook, Windows et Bing sont les sources principales. La connexion aux données et la mise en relation s’effectue via le Microsoft Graph, selon qu’il s’agit de personnes, de contenus, de commandes ou autres activités. Point important, les paramètres de sécurité et de vie privée pourront être définis par l’administrateur, pour régler qui peut accéder à quoi.

Par exemple, un groupe particulier pourra obtenir un lot de documents de certains projets, mais pas d’autres. Autre exemple, l’accès aux contacts, qui n’a pas nécessairement besoin d’être à l’échelle de toute l’entreprise pour un employé précis. Même chose pour les règles, ressources et outils.

Microsoft Build Search

Le Microsoft Graph utilisable désormais avec des données personnalisées

Le Graph est le service liant les données dans les produits Microsoft actuellement. Son rôle est cependant désormais élargi aux données de l’entreprise provenant d’autres produits, via un nouveau connecteur. L’ensemble des calculs est réalisé dans Azure Data Factory (ADF).

L’objectif de l’éditeur est d’aider les entreprises à voir émerger des modèles et relations auxquelles elles n’avaient pas forcément pensé jusqu’ici. Il faut néanmoins que les développeurs d’applications les rendent compatibles avec le nouveau connecteur pour que la jonction puisse se faire. Le connecteur s’obtient à travers Workplace Analytics.

La sécurité semble jouer un rôle prépondérant avec le connecteur. Les développeurs doivent par exemple spécifier quels types précis de données peuvent être envoyés dans le canal ADF. Les administrateurs pourront filtrer ces informations et devront donner un accord explicite de connexion aux données Office 365 de l’entreprise. Les développeurs pourront également spécifier des règles qu’ils s’engagent à respecter, là encore avec l’approbation des administrateurs.

Plusieurs précisions supplémentaires sur le Graph. Le toolkit est maintenant disponible en préversion depuis son dépôt GitHub. Les développeurs pourront s’en servir pour ajouter dans leurs applications des composants web comme les fichiers, tâches ou calendriers, le tout exploitable dans React Native (Facebook), Angular (Google) et autres frameworks JavaScript. Notez au sujet de React que Microsoft propose désormais une version spécifique pour Windows, avec des optimisations de performances (réécriture partielle en C++).

On en sait un peu plus sur le futur du nouvel Edge

Plusieurs annonces importantes ont été faites sur Edge durant la conférence initiale, Microsoft misant gros sur son nouveau navigateur. On sait par exemple qu’il possèdera un mode IE s’enclenchant automatiquement en entreprise quand nécessaire, que les collections permettront de stocker tout un lot d’informations selon des thématiques choisies par l’utilisateur ou encore que de nouveaux contrôles pour la vie privée devraient simplifier la vie des plus néophytes.

Cependant, et comme nous l’avions fait remarquer dans notre article dédié, il manquait de nombreuses informations sur des fonctions faisant actuellement la force du navigateur mais que l’on ne retrouvait pas dans sa mouture remaniée.

Dans une session il a été confirmé que Microsoft prépare un thème sombre automatique (suivant le paramètre de Windows), un nombre accru de langues pour l’interface (on s’en serait douté), le défilement doux, la désactivation du flux d’actualités, les fonctions liées aux PDF (dont celles d’annotations), la vue lecture (en fait déjà terminée mais pas implémentée), la liste de lecture, l’élargissement de la correction orthographique, la suppression des labels pour les favoris, le bouton de partage ou la suppression automatique des données de navigation à la fermeture du navigateur.

Microsoft Build Edge

Et pour certaines fonctions dont nous regrettions l’absence, il y a également du neuf : la mise de côté et la prévisualisation des onglets, les notes manuscrites et le hub des favoris sont également en cours de réflexion et pourraient donc débarquer dans la nouvelle version sous une forme ou un autre. En somme, toutes les fonctions actuellement présentes dans Edge pourraient se retrouver tôt ou tard dans la version Chromium.

Quelques autres précisions ont été données. Le traitement Fluent Design va s’intensifier, avec par exemple des angles plus arrondis et des ombres spécifiques. Microsoft travaille également à rendre Chromium davantage compatible avec tous les réglages d’accessibilité de Windows 10. Enfin, des fonctions comme la lecture à haute voix sont en préparation, avec de nouvelles voix décrites comme « plus naturelles ».

La bêta du navigateur ne devrait plus tarder, puisqu’elle a tout récemment fuité (les canaux Canary et Dev sont déjà disponibles). En outre, les rumeurs sont nombreuses autour de l’imminence de la version macOS. Microsoft pourrait donc faire d’une pierre deux coups. Aucune nouvelle cependant des versions pour les anciens Windows 7 et 8.1.

Quelques nouvelles de Visual Studio

Les principales annonces autour de l’environnement de développement ont déjà été traitées, en particulier la mouture Online. On en sait cependant davantage sur les évolutions qui attendent les versions classique et Mac.

On commence avec la disponibilité en version finale d’IntelliCode. Ce service propose pour rappel des suggestions IntelliSense en fonction du contexte. L’ensemble fait la part belle au machine learning et apprend donc avec le temps les habitudes du développeur pour lui suggérer des éléments au cours de la frappe.

IntelliCode est compatible avec les projets C#, C++, TypeScript/JavaScript et XAML, même s’il n’est finalisé que pour C# et XAML. Il reste en préversion pour les autres.

Microsoft Build IntelliCode

La préversion de Visual Studio 8.1 pour Mac est également disponible. Nous avions noté lors de l’arrivée de la version 2019 qu’un nouvel éditeur C# était inclus, mais uniquement sous forme d’opt-in.

Dans la version 8.1, il sera utilisé par défaut, avec à la clé une meilleure réactivité, un défilement plus fluide, des fonctions modernes d’édition comme le Multi-caret, le support de l’écriture de droite à gauche, un support amélioré pour les méthodes d’entrées de macOS, une interface IntelliSense revue et pus rapide ainsi que des actions rapides d’analyse (les mêmes que dans la version Windows).

On note aussi le support complet de la préversion de .NET Core 3.0, de nouveaux modèles ASP.NET Core, ainsi que des améliorations générales de performances et de fiabilité. Le temps de restauration NuGet a par exemple été nettement réduit, permettant aux projets de se charger plus vite.

Côté Visual Studio 2019 pour Windows, la version 16.1 est en préparation. Nous en sommes même à la troisième préversion. Parmi les principaux ajouts, la compatibilité avec IntelliCode (évidemment), la possibilité d’utiliser le sous-système Linux (WSL) local via C++, l’intégration d’AddressSanitizer pour les projets WSL et Linux ou encore, pour IntelliSense, la possibilité d’activer la complétion pour les types non importés (ce comportement se change dans les options).

On remarque également l’arrivée d’une nouvelle extension (en préversion) dédiée aux conteneurs logiciels.

Azure : l’habituel torrent de nouveautés

Azure constitue toujours l’un des morceaux les plus copieux de la conférence. Et pour cause : l’activité commerciale de la division cloud de Microsoft porte une partie des résultats de l’entreprise, avec une croissance à deux chiffres chaque trimestre depuis plusieurs années.

Avant de plonger un peu dans ces annonces, signalons d’emblée la place plus importante que prend désormais GitHub, dont les comptes peuvent être employés en lieu des classiques identifiants Microsoft, y compris pour les services Azure. En outre, l’offre Enterprise de GitHub est maintenant compatible avec Azure Active Directory.

Au vu de la popularité de GitHub, ce type d’aménagement pourrait bien aider à grappiller des parts de marché aux Amazon Web Services, estimées fin 2018 à 32 % (contre 13,7 % pour Microsoft et 7,6 % pour Google). Concernant Azure lui-même, Satya Nadella en a résumé les objectifs : devenir « l’ordinateur du monde » et proposer des outils pour toutes les étapes du développement, quel que soit le type de projet. 54 régions sont désormais proposées dans le monde.

Les annonces ont été extrêmement nombreuses, sur scène mais essentiellement sur le site consacré à la plateforme. En voici une liste des principales :

Cette liste est loin d’être exhaustive. Pour retrouver l’ensemble des annonces, rendez-vous sur le site d’Azure, de nombreux produits annoncés étant très spécifiques.

Des annonces diverses à la pelle

Conférence pour développeurs oblige, Microsoft a également annoncé une foule de nouveaux projets ou produits qui entrent moins dans des catégories spécifiques.

Par exemple, ElectionGuard. Le nom décrit exactement ce qu’est cette plateforme : elle doit permettre de préserver l’authenticité et la sécurité des votes. Il s’agit d’une plateforme d’accompagnement, pas d’une machine à voter complète. Elle sera disponible cet été et sera testée durant les élections présidentielles américaines de l’année prochaine.

Le projet rejoint le Defending Democracy Program qui a déjà permis aux administrations européennes qui le souhaitaient d’obtenir gratuitement des fonctions de sécurité pour Office 365 d’ordinaire payantes.

ElectionGuard ambitionne de fournir un processus entièrement vérifiable, capable de suivre précisément les votes tout en permettant un regard par le public si nécessaire. La plateforme est gratuite et open source (licence MIT), se veut une spécification ouverte et utilise le chiffrement homomorphique pour pouvoir effectuer des opérations mathématiques (comme le comptage) sur des données chiffrées. L’ensemble est conçu pour supporter les audits statistiques administratifs.

En lien avec Azure, Microsoft propose également en préversion un kit de développement pour robots autonomes. Voilà un domaine dans lequel l’éditeur ne s’était pas encore lancé, mais qui fait suite au rachat de la startup Bonsai, justement spécialisée dans l’apprentissage par renforcement pour systèmes autonomes. Le kit met en relation différents éléments existants, dont son Robot Operating System, et facilite l’entrainement, notamment via des simulations dans des environnements préconçus.

L’éditeur compte également ouvrir dans les prochains mois son kit de développement pour informatique quantique. Certaines parties l’étaient, mais la firme enverra cette fois à peu près tout sur son dépôt GitHub, notamment tout ce qui touche au langage Q#, qui existe déjà depuis plusieurs années. Le mois dernier, Microsoft annonçait que le SDK avait passé la barre des 100 000 téléchargements. Le passage en open source s’inscrit dans la mouvance actuelle, mais permettra surtout de lutter à armes égales avec IBM, qui propose déjà son Qiskit en open source.

Un autre Microsoft se dessine

La Build de cette année avait une saveur très particulière. Contrairement aux crus précédents, Microsoft y a beaucoup moins abordé de produits de « façade » comme Windows et Office. En termes de volumes d'annonces, ce sont bien Azure et les technologies de développement qui tenaient le haut du pavé.

Pour une conférence dédiée aux développeurs, d'aucuns diront que c'est normal. Pourtant, les proportions sont plus extrêmes cette année. Les déclarations de Satya Nadella sur Azure, son objectif d'en faire « l'ordinateur du monde » font poser la question : le futur de Microsoft n'est-il pas de devenir un acteur incontournable du développement et du cloud, au point de s'effacer petit à petit dans les autres domaines ?

Les myriades de nouveaux produits Azure, la croissance continue des projets s'ouvrant à l'open source, la volonté d'être partout avec des solutions multiplateformes et jusqu'à l'annonce de l'inclusion du noyau Linux 4.19 dans la prochaine évolution majeure de son propre système : on est loin, très loin de l'ère Ballmer.

Il faudra attendre pour connaître les projets à plus long terme de Microsoft sur Windows. Il se murmurait qu'une annonce aurait lieu sur la fameuse version « Lite », mais il faut croire que la société n'est pas encore prête à évoquer ce produit.


chargement
Chargement des commentaires...