Visual Studio 2013 : cap sur les apps Windows universelles

Microsoft Universal Apps Dans la droite ligne de la convergence de Windows 8.1 et Windows Phone 8.1, Microsoft propose une mise à jour de son IDE pour développement multi-terminaux Windows.

A l'occasion de la Build, son événement annuel à destination des développeurs Windows, Microsoft a levé le voile sur une deuxième mise à jour de Visual Studio 2013 (Update 2). Loin d'être mineure, elle introduit pour la première fois la notion d'application universelle (Universal App). Une nouveauté qui est intimement liée à la sortie de Windows Phone 8.1 attendue dans les semaines à venir. 

Egalement présenté lors de l'événement, Windows Phone 8.1 bénéficie en effet d'un runtime commun avec Windows 8.1, et d'une pile d'API à 90% alignée sur celle de ce dernier (notamment pour le système de fichier, les fonctions de bas niveau, certains capteurs...). Le tout ayant pour but de faciliter le développement d'applications portables dans les deux univers. 

A travers cette mise à jour, Visual Studio 2013 introduit donc un processus pour partager le code d'un projet entre plusieurs applications, chacune adaptée à un type de terminal Windows 8 ou Windows Phone 8.1. "Nous avons d'ailleurs inclus dans ce processus la possibilité d'une déclinaison de l'app pour Xbox", souligne David Treadwell, vice président corporate Operating Systems Group de Microsoft (le rapprochement des différents systèmes Windows, attendu pour Windows 9, est donc bien en route). Les développements pourront être réalisés en HTML/CSS/JavaScript, mais aussi C#/VB ou C/C++ - avec dans ces deux derniers cas XAML ou DirectX pour l'interface graphique.

visual studio 2
Environnement proposé par Microsoft pour les Universal Apps. © JDN / Antoine Crochet-Damais

Des API peuvent ainsi rester spécifiques à l'un ou l'autre des OS. C'est par exemple le cas de l'interface de programmation de Cortana, le nouvel assistant personnel livré avec Windows Phone 8.1. Elle permettra par exemple de rechercher ou partager des données contenues dans une application via la fonction de recherche vocale de Cortana. Notons que l'assistant en question sera disponible dans un premier temps uniquement en anglais puis étendu au chinois (d'autres langues sont prévues, mais la feuille de route n'a pas été précisée).

Aux côtés de son nouveau processus de partage de code, Visual Studio 2013 Update 2 livre plusieurs nouveaux outils complémentaires facilitant le développement multiplateforme. En premier lieu un générateur, appelé Hub Control, qui est conçu pour adapter l'interface de l'application à chaque type de terminal Windows ciblé (smartphone, tablette, PC...). "Il réalisera le gros du travail, sachant que des adaptations pourront rester à réaliser", commente David Treadwell. Dans la même logique, une console de test fait son apparition pour mesurer la réactivité de l'interface graphique en suivant la consommation d'énergie et de CPU qu'elle implique. Tout comme un outil de contrôle de rendu dans les différentes configurations ciblées (voir illustration ci-dessous).

visual studio
Le nouvel outil de contrôle de rendu de Visual Studio pour vérifier les interfaces dans différentes configurations : tablettes, smartphones, PC... © JDN / Antoine Crochet-Damais

Parallèlement, un dispositif de partage d'identité, baptisé Shared App Identities, est proposé pour gérer la diffusion des applications universelles et leur utilisation sur plusieurs terminaux. Une nouvelle icône apparaîtra dans les fiches du Windows Store pour identifier cette possibilité. 

Toujours en vue de rendre l'environnement applicatif des OS Windows plus cohérent, Internet Explorer est porté sur Windows Phone (à l'occasion de la sortie de la version 8.1 de ce dernier). "L'idée est aussi de proposer un environnement commun à Windows et Windows Phone pour le déploiement d'applications Web dans un navigateur", explique David Treadwell.

Mais Microsoft voit déjà plus loin. L'éditeur annonce en effet le passage en open source (sous licence Apache 2) de WinJS, son infrastructure maison pour le développement d'app HTML/CSS/JavaScript. Le projet est porté par la division Open Tech. En ligne de mire, l'éditeur a annoncé sa volonté de porter à terme WinJS sous iOS et Android, et ainsi proposer un environnement de développement JavaScript multi-plateforme mobile. Cette initiative va-t-elle dans le bon sens ? La question se pose. WinJS est en effet loin d'avoir mobilisé les développeurs Windows. Selon une récente étude de Zdnet, 80% des applications du Windows Store affichent des écrans reposant sur XAML, plutôt que sur WinJS.

Microsoft / IDE