Microsoft Build 2011 : Nouvelle architecture applicative pour Windows 8

Pour les applications Metro Style de Windows 8, la pile a été revisitée. Langages autrement combinés, exposition de fonctions, multiples API… et compatibilité pour l’existant.

Anaheim.-Pour tenir toutes ses promesses, Windows 8 doit réellement apporter plus.
En effet, la tentation est grande après les premières démonstrations de déduire qu’il s’agit de quelques couches cosmétiques au dessus de Windows 7. Et pourtant…

C’est pourquoi, dès la session d’ouverture, Steven Sinofsky, président de la division Windows et Windows Live chez Microsoft, affiche des résultats comparatifs à partir l’outil Task Manager de Windows.
Résultat : sur une architecture comparable, la version pre-release de Windows 7 nécessitait 540 Mo pour faire tourner 34 processus simultanés, la SP1 passait à 404 Mo pour 32 processus, tandis que Windows 8 abaisse la barre à 281 Mo pour 29 processus.
Applaudissements d’une salle de 5 000 développeurs enthousiastes.
« Et cela est conçu dans Windows 8. Il ne s’agit nullement d’une couche ajoutée au-dessus. C’est Windows ! » clame Steven Sinofsky devant les aficionados apparemment séduits.

Steven Sinofsky
Steven Sinofsky

À l’écoute des développeurs
S’adressant alors directement aux programmeurs, le responsable de Windows fait appel à leur enthousiasme en soulignant que Windows 8 répond réellement à leurs attentes :
« Les nouveaux types d’équipements et les modèles d’interaction ouvrent la porte à de nouveaux scénarios et opportunités. La mobilité signifie des équipements que vous utilisez en mouvement, pas uniquement des équipements que vous transportez puis utilisez. Les développeurs d’applications réclament une connectivité riche, des possibilités de partage et connexion avec les clients. Les services doivent être intégrés dans les applications.»
Ces nouveaux scénarios incluent la possibilité d’exposer des fonctions qui peuvent être invoquées/utilisées par d’autres applications (un peu à la manière des services Web).

L'architecture applicative Windows 8
L'architecture applicative Windows 8

Une nouvelle pile qui évite d’empiler trop, mais…
Pour la nouvelle architecture proposée aux développeurs, Microsoft nomme (sans les détailler) les nouveaux Kernel Windows Services de Windows 8.
Sur ce dernier reposent les WinRT (‘Windows Real Time) APIs, permettant aux programmeurs d’accéder aux fonctions à travers une couche “Application Model”.
On trouve logiquement trois familles d’APIs : Communication and Data, Graphics and Media et Devices and Printing.
On comprend alors que sur tous ces aspects, le développeur n’aura plus à se préoccuper de tous ces aspects que Windows gère et partage au niveau le plus bas entre toutes les applications.
En quelque sorte la “Secret Sauce” favorisant l’exposition de fonctions d’une application qui peut tourner indépendamment ou être appelée par l’utilisateur d’un programme sans le quitter (“In context”). Comme l’envoi d’un texte sous forme de feed via le menu coulissant de droite par exemple.

VisualStudio Style Metro
VisualStudio Style Metro

Parler plusieurs langages, et préserver les langues anciennes
Au-dessus des Win RT, le développeur a le choix entre C/C++ et Visual Basic/C#, associés à la conception de Views en XAML, et le couple JavaScript/HTML-CSS. Il peut ainsi créer des applications Metro Style de Windows 8.
Toutefois, les anciens programmes doivent pouvoir continuer à fonctionner. On retrouve donc la partie Desktop Applications reposant aussi sur le kernel, mais avec la structure classique, moins unifiée et sans les capacités de partage et d’exposition des applications Metro Style.
On notera, sans s’en étonner, qu’aucune allusion n’a été faite aux autres langages : Java, Ruby, Perl, etc. Évolution oui, Révolution, pas encore…

Le développeur profite aussi du partage
Le développeur profite aussi du partage

Visual Studio et Expression embarquent dans le Metro
Une présentation de Visual Studio 2011 illustre parfaitement la mise en musique de cette nouvelle architecture. Ainsi, le choix des langages et les templates permettent de gagner en variété et en productivité.
Bien entendu, il reste possible de partir d’un cadre vierge. Pour la démonstration en JavaScript, trois fichiers sont générés : css, js et html.
Visual Studio à la mode Metro Style sait aussi profiter du menu de droite (partage de fonctions, pour intégrer des éléments provenant d’autres applications.
Il est possible d’affiner l’interface de l’application en direct via Microsoft Expression. Ici aussi, le menu de droite autorise l’insertion d’images depuis le logiciel gérant les réseaux sociaux, ou toute autre application.
Autre nouvelle possibilité intéressante, Expression permet de voir quelle allure a l’interface en mode portrait ou paysage (tablette ou smartphone), en mode « écran partagé » de Windows, etc.
Bref, un grand nombre de nouveautés pour faciliter la création d’application, que les développeurs présents ont régulièrement salué d’applaudissements nourris.