Windows 10 : qu’est ce qui va changer pour nous développeurs ?

Par défaut

A la fin du mois, le 29 juillet, Microsoft sortira officiellement Windows 10. Très attendu par certains, déjà critiqué par d’autres. Autant dire que ça va cartonner ;).
Dans un premier temps, seule la version réservée aux PC et tablettes sera disponible mais suivront les mois suivants Windows 10 Mobile pour les smartphones, et Windows 10 pour Xbox One.
A chaque nouvelle version de Windows sont associées des évolutions, des nouvelles fonctionnalités, des erreurs, des déceptions. Cependant, pour Windows 10, Microsoft a changé sa façon de procéder en proposant aux utilisateurs qui le souhaitaient d’entrer dans un programme spécial (Windows Insider, http://insider.windows.com) permettant de remonter en premier lieu les bugs, mais aussi de suggérer des fonctionnalités, des idées… faisant de cet opus un Windows très abouti.

Vers une convergence de la plateforme

Evolution de la plateforme Windows

Evolution de la plateforme Windows

L’un des défis de Microsoft a été de continuer la convergence des plateformes qui avait commencé il y a quelques années avec Windows Phone 7.5 qui utilisait le même navigateur (Internet Explorer) que Windows et la Xbox 360.
Avec Windows 8, la convergence du kernel a permis de proposer les mêmes modèles pour la couche d’abstraction matériel (HAL) et les pilotes de périphériques. Windows 8 et Windows Phone 8 partageaient le même noyau tandis que celui de la Xbox One était réalisé à partir de Windows 8.
Windows 8.1 et Windows Phone 8.1 partage aujourd’hui les mêmes moteurs d’exécution, proposent les mêmes modèles d’applications et les mêmes jeux d’API. Actuellement, la convergence est portée à plus de 90% et l’unification a permis d’utiliser le même service de notification, le comportement des piles (back-strack), les contrats de partage, les tuiles… Les applications s’exécutant sur Windows ou Windows Phone partagent dorénavant des parties de code mais utilisent des binaires différents, des centres de développement et des stores séparés. La Xbox n’est toujours pas pleinement intégrée.

Plateforme Windows 10

Plateforme Windows 10

Avec Windows 10, l’unification est maintenant complète : désormais les développeurs peuvent cibler de nombreux périphériques (PC, tablettes, smartphones, Xbox One, Surface Hub, Hololens, IoT,…) avec une seule application.

Dans ces cas là, les américains ont une expression pour exprimer leur joie : It’s amazing !

1 Noyau, 1 Plateforme, 1 Store

Le noyau commun et la plateforme applicative unifiée de Windows 10 permettent aux développeurs de créer des applications qui fonctionnent à travers toutes les familles de périphériques Windows. Les développeurs peuvent fournir aux utilisateurs finaux la cohérence dont ils ont besoin et des expériences adaptées.
Pour cela plusieurs services vont aider les développeurs :
Adaptive UI, Interface Utilisateur Adaptable : l’interface s’adapte en fonction du périphérique, de ces capacités, de la taille de son écran…
Universal Input : bienvenue dans le futur, ici tout est disponible pour interagir par la voix, les gestes, la reconnaissance d’écriture, la reconnaissance faciale et biensûr le clavier et la souris ;
Le Cloud : Cortana, Personal Hubs, OneDrive, Office365, Windows Notification Services, Credential Locker ;
Windows Store : un store unique pour tout !
Cette plateforme unifiée porte un nom : UAP, Universal Apps (Applications Universelles). Avec elle, que votre périphérique possède un grand ou un petit écran, voire pas d’écran, un clavier, une souris, un stylet, une manette, une camera, des capteurs… ou tout ce que vous êtes capable d’imaginer pour interagir avec, vous avez les moyens d’exploiter les fonctionnalités de ces périphériques et de créer une expérience unique pour vos utilisateurs.
Le SDK de la Plateforme Universelle Windows possède plus 2500 nouvelles fonctionnalités par rapport à la version précédente, en vrac : DirectInk, DirectX 12, Custom Sensors, Action centers APIs, Adaptive UI, Cortana, Contacts APIs, Bing, Unified clipboard…

Nouveautés et améliorations

Plus de 2500 nouvelles fonctionnalités de la plateforme !

Plus de 2500 nouvelles fonctionnalités de la plateforme !

Optimisations du ‘runtime’

Microsoft a retravaillé le ‘Fast App Resume’ afin d’offrir une expérience utilisateur plus agréable et on peut dire que cette fois, c’est réussi : les applications mises en arrière plan se rouvrent très rapidement !
Les applications peuvent désormais exécuter et interagir avec d’autres applications, ce qui sera très pratique par exemple pour les réseaux sociaux, les paiements, la domotique, les objets connectés…
La gestion du stockage change afin de rendre plus souple la gestion des données des applications ; les éditeurs pourront faire le choix entre espace dédié à l’application, espace partagé entre les applications d’un même éditeur et espace partagé entre toutes les applications du périphérique.
Les modes d’exécutions évoluent aussi, les applications disposent de plus de droits et peuvent maintenant tourner en tâches de fond ou dès le démarrage de l’OS.
Le bouton de navigation Retour, quant à lui, évolue et provoquera avant tout un évènement retour pour l’application qui devra l’interpréter. Ainsi, les applications restent en arrière plan (à la manière d’iOS) tant qu’elles ne sont pas fermées par le gestionnaire de tâches (appuie long sur la touche Retour).

Evolution de XAML et de l’interface utilisateur

Afin de faciliter le développement d’applications multi périphériques, Microsoft a mis à jour les contrôles XAML et propose un ensemble complet de contrôles universels : Pivot, ContentDialog, AutoSuggestBox, TitleBar, WebView, Maps… en plus des traditionnels TextBox, TextBlock, CheckBox, RadioButton, Grid, StackPanel… Et, pour faciliter l’adaptivité et la ‘responsivité’, les SplitView, RelativePanel et les Adaptive Triggers vont devenir vos meilleurs amis 😉

A la manière de Windows Phone 8.1, Windows 10 se dote d’un centre de notifications, de nouvelles APIs permettent d’y afficher des notifications, des alarmes, des rappels, des informations…
Les Toasts deviennent intéractifs, on peut par exemple répondre à un message, valider une action, sans ouvrir l’application source, l’utilisateur ne quitte plus l’application avec laquelle il travaillait, cela augmente donc son expérience.
Les Tuiles ont été retravaillées et surtout le nombre de modèles passe de 80 à 4 (!!!), elles s’adaptent automatiquement à l’écran, sa taille et son orientation. Le texte est mis en forme pour s’afficher au mieux. 3 états sont désormais possibles : Basic (figée), Semi Live (mise à jour quand l’application se rafraichi où que l’utilisateur fait une action particulière dans l’application) et Live (mise à jour par un processus en arrière plan, une notification).
Plus interactives, elle deviendront un peu plus tard, de vraies petites applications dans lesquelles on pourra scroller et avoir des éléments d’interactions, pourquoi ne pas imaginer une tuile interactive pour votre player de musique préféré (xbox musique, deezer, spotify, VLC…) !

Nouveau moteur HTML

Les développeurs d’applications légères ne sont pas laissé de coté ! Avec Windows 10, une nouvelle plateforme de rendu HTML est disponible : Microsoft Edge. Le nouveau moteur, EdgeHTML, se veut interopérable, moderne et performant. Les premiers tests sont assez bluffant, Microsoft Edge surpasserait Google Chrome. Il est le nouveau moteur par défaut.
Internet Explorer et son moteur MSHTML reste bien-sûr disponible sur la plateforme afin de ne pas créer de rupture pour les entreprises et ne pas freiner leur adoption de Windows 10. Internet Explorer couvre la compatibilité des moteurs de IE5.5 à IE11.

Conclusion

Cet article a survolé ces nouveautés, c’est pour moi un réel enthousiasme, j’attends beaucoup de cette nouvelle version de Windows ! Il est difficile de tout décrire en détail, de rentrer dans chacun des points que j’ai énuméré ci-dessus.
Je vous propose qu’on se donne rendez-vous dans de prochains articles afin de détailler ensemble le développement d’applications universelles.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s