Microsoft Build 2017 : Les nouveautés Windows !

La Build (événement annuel de Microsoft dédié aux développeurs) s’est tenue à Seattle les 10, 11 et 12 Mai.
Cet événement a été l’occasion pour Microsoft de présenter les nouveautés Cloud & Windows et d’annoncer les évolutions à venir.

Cloud & AI

La Keynote du premier jour était consacrée au Cloud et à l’intelligence artificielle.
Je ne vais pas aborder les nouveautés autour du Cloud, je laisse le soin à Matthieu Klotz, mon collègue, de le faire pour vous dans son prochain billet de blog, dans quelques jours.
Du côté de l’intelligence artificielle, Andrea Carl a présenté une démonstration sur l’utilisation des services cognitifs dans un environnement de travail.
La démo mettait en scène des ouvriers à l’oeuvre et montrait comment remonter des alertes à l’aide d’une caméra de surveillance.
L’un des moments forts de cette keynote a été la présentation du projet Emma, un bracelet conçu pour aider les gens atteints de Parkinson à réduire les tremblements de leur main. Je vous invite a regarder la vidéo à ce sujet.

Laura Jones a évoqué la notion d’Intelligent meetings. Elle nous présente Microsoft Streams. C’est une évolution de Microsoft Teams qui permet d’effectuer des appels Skype en intégrant le Bot Framework, le tout en conservant un historique du meeting. Cet historique permet de rejouer la réunion et de visualiser les points forts.

Cortana Skills permet à Cortana d’exploiter les services d’une application. Par exemple, j’ai développé une app qui permet de commander des pizzas. Avec Cortana Skills, je donne la possibilité à l’utilisateur de commander une pizza directement depuis Cortana. Un skill peut être rendu public.

Windows

La Keynote du deuxième jour était consacrée à Windows.
Elle commence sur les chapeaux de roues avec une présentation de Windows Story Remix qui sera disponible dans la prochaine mise à jour majeure de Windows 10 prévue en fin d’année: Fall Creator Update.
Cette application permet d’explorer ses photos et vidéos, comme le fait aujourd’hui l’application photo de Windows 10 mais en allant beaucoup plus loin. Elle embarque de l’intelligence artificielle.
La recherche textuelle par exemple permet de filtrer les photos ou vidéos de mon chien juste en tapant le mot clé: « chien ».
Les personnes visibles dans ma vidéo sont identifiées parmi mes contacts et listées dans le descriptif.

Story Remix permet surtout d’éditer ses vidéos.
Etant donné que les acteurs de la vidéo sont identifiés, il est possible de définir une sorte de « focus » sur l’un des acteurs. Les plans de la vidéo sont ainsi modifiés pour mettre en avant la personne « star ». C’est en quelque sorte comme si on centrait la caméra sur la star. On peut également ajouter un fond sonore, en choisissant une ambiance, plus ou moins énergique.
Mais le premier effet waouh de la Keynote, c’était l’intégration d’un objet 3D depuis Remix 3D dans la vidéo et sa capacité à suivre un élément de la vidéo, c’est bluffant :

Fluent Design

Fall Creator Update intégrera le Fluent Design System qui permet de créer une expérience plus attirante et plus « délicieuse » qui s’adapte en fonction de la taille des appareils et de l’interaction: http://fluent.microsoft.com.

Ce nouveau design est une évolution de l’interface Windows 10. Cette évolution se traduit par de nouveaux effets visuels au sein de l’OS et des applications. On peut déjà en apprécier certains dans la version 16193 en Insider Preview Fast Ring comme l’effet Acrylic (transparence floue).

Du point de vue du développeur, l’intégration de Fluent dans son application nécessite un petit travail en amont. A première vue, cela semble relativement simple.
Par exemple, si je souhaite ajouter un fond acrylic à mon contrôle Grid, il me suffit d’ajouter une ressource système:

<Grid Background="{ThemeResource SystemControlAcrylicElementBrush}">

Il est aussi possible de personnaliser son effet acrylic en créant son propre brush.
Je peux également effectuer un effet de parallaxe entre une image et une liste déroulante horizontale :

<Grid>
    <ParallaxView Source="{x:Bind ForegroundElement}" VerticalShift="50"> 

        <!-- Background element --> 
        <Image x:Name="BackgroundImage" Source="Assets/turntable.png"
               Stretch="UniformToFill"/>
    </ParallaxView>

    <!-- Foreground element -->
    <ListView x:Name="ForegroundElement">
       <x:String>Item 1</x:String> 
       <x:String>Item 2</x:String> 
       <x:String>Item 3</x:String> 
       <x:String>Item 4</x:String> 
       ...   
    </ListView>
</Grid>

Contrainte:
Si vous souhaitez intégrer ces effets dans vos applications, il vous faudra installer le SDK 16190. Cependant, vous ne verrez pas le résultat si vous n’installez pas la version 16193 de Windows 10 et l’application plantera si vous ne testez pas :

if(Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.Xaml.Media.XamlCompositionBrushBase"))

Si vous souhaitez visualiser les effets dans le designer Visual Studio et au runtime, il vous faudra la version 16193 de Windows 10.

Jetez un œil à la documentation.

Microsoft prévoit plusieurs vagues de déploiement (au moins 4). La première est déjà disponible via le programme Insider Preview. Les prochaines semblent prometteuses, avec entre autres l’intégration de la profondeur que je vous laisse apprécier ici:

Fall Update Creator s’accompagnera également d’évolutions comme OneDrive Files On-Demand, Windows Timeline et Cloud Powered Clipboard.

OneDrive Files On-Demand


OneDrive Files On-Demand permet de gérer plus finement le statut de synchronisation de ses fichiers. Les fichiers qui ne sont pas utilisés ne sont pas synchronisés, par contre, ils sont bien visibles dans le dossier. Cela permet d’économiser de la place sur le disque dur. Le fichier est téléchargé uniquement lorsqu’il est ouvert. Ce processus est transparent pour l’utilisateur. Il peut cependant forcer le statut de synchronisation à l’échelle d’un fichier s’il le souhaite.

Windows Timeline

Windows Timeline permet de conserver un historique des applications utilisées. Que ce soit sur Windows, Android ou iOS, Cortana sera capable de proposer une reprise du travail à chaque fois qu’on change d’appareil.
Par exemple, je commence à travailler sur un document sur mon PC Windows 10, je switch sur mon iPhone, Cortana me propose de continuer mon travail. Mon document s’ouvre à l’endroit où je l’avais laissé ouvert sur Windows 10.
Pour proposer cette expérience dans une application, cette dernière doit implémenter entre autres la notion d’Adaptive Cards.
Les Adaptive Cards correspondent à une sorte de snapshot de l’application à instant T qui peut être partagé entre n’importe quel device. Ce snapshot est défini par le biais d’un fichier JSON unique entre iOS, Android, Windows. Cette fonctionnalité est une brique du projet Rome.
Le site est assez complet, je vous invite à y jeter un œil:

Cloud Powered Clipboard

Cloud Powered Clipboard permet d’effectuer un copier/coller cross-platform. Depuis ma tablette Surface Pro, je copie du texte. J’ai la possibilité de coller ce texte depuis mon iPhone.
Ce clipboard partagé conserve également l’historique des copier/coller. Encore une brique du projet Rome.

D’ailleurs, le SDK Project Rome est maintenant disponible pour iOS et Android.

 

.NET Standard & XAML Standard

.NET Standard est disponible en version 2.0 pour UWP et le XAML Standard fait son entrée !
Cette annonce représente pour moi la plus importante de la Build.
Le XAML Standard est une spécification qui va permettre d’unifier, dans un premier temps, le Xamarin.Forms et l’UWP. Cette standardisation signifie que les projets qui ciblent le .NET Standard et le XAML Standard sont compatibles avec n’importe quelle plateforme qui implémente le .NET Standard et le XAML Standard. Pour faire simple, le code XAML que j’aurai écrit dans une application UWP pourra être exécuté sur iOS, Android, Tizen ou Windows. Je n’aurai plus à me soucier de la plateforme cible. Bien sûr, aujourd’hui le XAML Standard n’en est qu’à ses prémices, et à l’heure actuelle ne représente qu’une spécification. Mais d’ici 1 an ou 2, ce standard permettra d’écrire une seule et unique interface utilisateur exécutable sur n’importe quelle plateforme implémentant le XAML Standard.

GitHub: https://github.com/Microsoft/xaml-standard

 

Xamarin

Xamarin Live Player est une application disponible sur iOS et Android.
Cette application permet de connecter son téléphone avec Visual Studio et donne ainsi la possibilité de tester son application directement depuis Visual Studio.
Pour pouvoir l’utiliser, il faut la version Preview 15.3 de Visual Studio.
Cela ne remplace pas un MAC. Il faut toujours un MAC pour compiler l’application iOS. En revanche, une fois compilée, l’application est déployée depuis VS directement sur le device et permet d’être éditée et testée en live.

En vrac, voici quelques nouveautés de Xamarin.Forms 3.0: FastRenderers, FlexLayout (= WrapPanel), améliorations des ListView (chargement rapide, ajout d’item directement, suppression des Cells), mode Hybride, Embeddinator 4000 (permet de référencer une DLL du framework .NET directement dans un projet Objective-C)…
Une nouveauté qui me plaît bien, c’est l’intégration des « Provisioning Profiles » dans l’IDE. En gros, en 2 cliques je peux générer et publier mon certificat iOS.

 

HoloLens et VR

Alex Kipman, l’inventeur de l’HoloLens a annoncé l’arrivée des manettes pour réalité mixte, les Motion Controllers.
Un pack complet Acer incluant les Motions Controllers à $399. C’est $200 de moins que l’Occulus Rift et de ses controllers.

Plus d’info ici.


Une démo impressionnante, avec la collaboration du Cirque du Soleil, a mélangé réalité virtuelle et réalité augmentée. On y voyait des interlocuteurs sur scène et un autre en réalité augmentée, physiquement présent à Paris. Ils partageaient tous les mêmes hologrammes et pouvaient ainsi interagir ensemble.

Universal Windows Platform et Visual Studio

Visual Studio pour Mac est disponible:

Côté déploiement d’application, Visual Studio Mobile Center supporte complètement les applications UWP et permet de déployer directement dans le store.

D’ailleurs le Windows Store s’enrichit:

 

 

Lors d’une session UWP, il a été annoncé l’arrivée d’un nouvel outil de génération de projet depuis Visual Studio: Windows Template Studio.

Pour l’utiliser, il faut installer l’extension:

Cet outil de démarrage permet de choisir les fonctionnalités que l’on souhaite ajouter à son application UWP.
Au lieu de créer un projet vide, je peux indiquer dans WTS les features que je souhaite ajouter dans mon app: MVVM light, Gestion de l’état de l’app, gestion des langues, ajout de thèmes, d’une page « à propos »…

Les Connected Service ont également évolué et permettent d’ajouter en 5min la connexion à Facebook en utilisant le framework Mobile Service.

La productivité est améliorée grâce à la possibilité de modifier la valeur d’une propriété directement en debug, au runtime, dans le code. Cela était déjà possible, la nouveauté réside dans la persistance de la valeur. Il est possible de modifier directement le fichier en debug, cette valeur est ensuite persistée lorsque le debug s’arrête.

L’une des tâches fastidieuses lorsqu’il s’agit de finaliser une application consiste à créer et définir ses logos, icônes, images, splashsceen… Cette tâche est maintenant simplifiée et réalisable en un clique grâce au Visual Assets Generator.

Voici quelques évolutions sur lesquelles l’équipe UWP travaille aujourd’hui :
Le support du multi-instance. Dans la version actuelle d’UWP, il n’est pas possible d’exécuter plusieurs instances d’une même application. Faites le test, lancez plusieurs fois l’application Calculatrice de Windows. Regardez ensuite les processus qui tournent dans le gestionnaire et terminez le process Calculatrice. Toutes les fenêtres se ferment.
Lancement au démarrage de Windows.
Lancement en ligne de commande.

Bot Framework

Il n’y a pas eu d’annonce lors de la Keynote, en revanche, il y en a eu lors des sessions et les nouveautés sont nombreuses.
La plus marquante est la venue d’un designer pour aider à élaborer son bot.
D’autres sont en rapport avec Cortana Skills et Adaptive Cards que j’évoquais précédemment.
Pour avoir plus de détails:

Pour résumer, cette édition 2017 a été riche en nouveautés et Microsoft nous prépare encore de belles choses pour les mois à venir. On retrouve bien là le sujet « Cloud first, Mobile first » que Satya Nadella met en place depuis qu’il est à la tête de la firme.

Ce qu’il faut retenir

Nouveaux effets et styles de Windows 10: Fluent Design System
Le XAML Standard 1.0 va permettre d’unifier Xamarin.Forms et UWP.
.NET Standard 2.0 disponible.
Visual Studio for Mac disponible.
Xamarin Live Player simplifie le développement Xamarin.
Microsoft Graph évolue et est au cœur des projets Office365.
Le Bot Framework va se doter d’un designer.
Un pack VR et controllers à $399.
La plupart des projets annoncés sont Open Source, disponibles sur GitHub.

Meetup

Si vous souhaitez en découvrir davantage par le biais de démonstrations live ou si vous êtes simplement curieux d’en savoir plus sur l’aventure que Cellenza a vécue à Seattle, venez nous rencontrer 🙂
Nous organisons une soirée Retour d’Expérience de la Build, le 1er juin à Paris, dans nos locaux.

Inscrivez-vous ici: https://www.meetup.com/fr-FR/AGILE-NET-FRANCE/events/239722504/

Pas de commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *