Windows 8 : un environnement de développement multi-terminaux

Windows 8 : un environnement de développement multi-terminaux PC, tablettes, smartphones... A l'occasion de sa conférence à destination des développeurs, Microsoft a détaillé sa philosophie de développement multi-plateformes et multi-terminaux.

Développer une fois, et déployer sur PC, tablettes, convertibles équipés de Windows 8. Mais aussi sur les smartphones dotés de Windows Phone 8. Telle est la promesse de Microsoft avec ses deux nouveaux OS. L'éditeur a martelé son message la semaine dernière à l'occasion de la Build, sa conférence mondiale à destination des développeurs. Le secret de fabrication qui se cache derrière ce tour de passe-passe ? Un noyau unique (Windows NT 6.1), à la fois pour Windows 8 (Standard, Pro, Entreprise) et Windows Phone 8. Seule exception : Windows RT fait l'objet d'un noyau différent, du fait d'une optimisation spécifique pour les architectures ARM. 

Des outils de développement multi-terminaux et multi-plateformes

satya nadella
Lors de la Build, Satya Nadella, président, Server and Tools Business de Microsoft, a détaillé les liens possibles entre Windows 8 et Azure © Microsoft

Pour concrétiser cette vision, l'éditeur a fourni en septembre une nouvelle version de son environnement de développement Visual Studio (2012). L'IDE cible les deux principales familles de langages supportés par Windows 8 (et RT) et son interface Modern UI : les langages Web (HTML, CSS et Javascript) et .Net (C, C++, C#, VB et XAML).

En vue d'assurer un portage des applications sur tous ces types de terminaux, Microsoft préconise de prendre en compte dès la conception de l'interface cliente tous les modèles graphiques appropriés ainsi que les événements nécessaires à chaque écran : contrôles au clavier, à la souris, au stylet, et naturellement tactiles. Un outil de gestion de vues est là pour adapter les configurations graphiques et contrôles en fonction des types d'écran (PC, tablette, smartphone). En aval, si le développeur a opté pour une application native (.Net), il devra alors réaliser deux compilations : l'une pour Windows 8 Standard, Pro et Enterprise (conçus pour les architectures matérielles IA-32 ou x86) et l'autre pour Windows RT, pour les terminaux ARM donc.

Windows Azure Mobile Services pour faciliter les développements d'apps tactiles

Pour les apps mobiles tactiles développées pour Windows RT, Microsoft est largement revenu à l'occasion de sa conférence sur les Windows Azure Mobile Services. Une pile de composants hébergés sur son cloud Azure, combinant gestion des authentifications, du stockage de données, des notifications, jusqu'à la traduction des textes des applications (avec Microsoft Translator Hub)... En ligne de mire : décharger les développeurs mobiles en leur proposant des services serveur pré-configurés pour leurs applications RT. Petit plus, Windows Azure Mobile Services est également capable de prendre en charge des développements pour iOS.

Du côté des liens avec la couche matérielle des terminaux, une nouvelle infrastructure d'API (WinRT API) permet en outre d'accéder à de très nombreuses fonctions : les contrôles tactiles en multipoint, la gestion de contrats (pour autoriser par exemple une app à échanger des contenus avec d'autres applications tactiles), le NFC, la gestion de l'orientation... Une infrastructure qui est accessible aussi bien pour les développements Web que les applications natives.

Cap sur le développement en mode Cloud

Pour accompagner les développeurs dans la démarche, l'éditeur a aussi produit une documentation assez détaillée accompagnant ses outils. Lors de la Build, Microsoft a d'ailleurs complété cet édifice en dévoilant Windows Phone 8 en version finale, ainsi que le kit de développement de cette nouvelle version. Reposant sur le même noyau que Windows 8, Windows Phone 8 prend donc désormais en charge C++. C'est bien là la principale évolution de l'environnement de développement du smartphone (voir le détails sur le site de Microsoft).

Enfin, le groupe a annoncé le passage en RTM de Windows Azure Team Foundation, qui n'est autre qu'une déclinaison en mode SaaS (hébergée dans le Cloud Microsoft Azure) de l'outil collaboratif Team Foundation Server. Au-delà des langages .Net, cette nouvelle édition prend en charge les langages supportés par Azure, parmi lesquels figurent Java, Ruby, PHP et Python.

windows 8 2
L'architecture de Windows 8 a été dévoilée par Microsoft dès la Build 2011. © JDN / Antoine Crochet-Damais