Le développement applicatif sous Windows 10 : oui, mais comment ?

Le développement selon Microsoft n’est pas toujours simple à comprendre. Cette chronique peut vous aider à discerner certaines tendances. Depuis la sortie de Windows 8, les applications ne sont qu'Universal, Store et Modern UI.

Depuis 2011 et la sortie en bêta de Windows 8, l’écosystème Windows vit une nouvelle époque. Les applications dites de bureau (mode desktop) sont considérées comme « legacy », à savoir les applications Windows Forms, WPF, Silverlight et Win32. La mode est aux applications qui se téléchargent sur le Windows Store (unifié avec le Windows Phone Store). Ce sont des applications Modern UI (anciennement Metro Style Apps).

Le touch est au centre des priorités et le XAML est roi. Mais il n’y a pas que cela ! Il faut attirer de nouveaux développeurs sur la plateforme. C’est pourquoi, JavaScript occupe une place de choix. Considéré comme un langage de 1ère classe comme C#, VB.NET ou C++, JavaScript peut grâce à WinJS participer à la réalisation des applications. Il n’y a plus de langages d’arrière plan comme précédemment Visual C++, Visual Basic et Foxpro.

L’ensemble des langages partent sur la ligne de départ et ont accès à des fonctionnalités identiques. Les devices Windows 10 ont tous le même kernel et les mêmes API avec le Windows Runtime et les WinRT API.

Pour les développeurs qui connaissent les API Win32, le coup est un peu rude car il n’est autorisé d’accéder au Win32 que sous certaines conditions. Il faut que l’API s’inscrive dans la bonne partition. Les WinRT APIs sont développées en C/C++ et sont construites au dessus des API Win32. Il existe des centaines d’API pour effectuer des Modern UI Apps.

Les développeurs C/C++, C# et VB.NET, qui maîtrisent WPF ou Silverlight, seront dans leur élément : le XAML reste la technologie utilisée pour l’interface graphique.

Dans le but d’accélérer le nombre d’applications sur le Store, Microsoft propose de réaliser des Universals Apps. Qu’est ce que c’est ? C’est très simple ! Les devices Windows ayant le même jeu d’API, développer une application disponible sur tous les devices nécessite de gérer une partie de code commun et une partie spécifique. Ce dernier point cible la gestion des écrans qui seront surement agencés différemment selon Windows Phone qui est un device 4, 5 ou 6 pouces ou un poste desktop qui fait 13 pouces.

L’unification des plateformes permet aisément de franchir le pas, en soumettant au Store une application Windows 8.1 et une application Windows Phone 8.1. Autre nouveauté : la possibilité de développer des applications sur Android et iOS. La version de Visual Studio 2015 redistribue l’Android SDK et une VM Android dans le cadre de l’exécution des tests. Elle est intégrée chez Xamarin pour réaliser des applications sur les différents téléphones, en programmation C#, sans avoir à développer sur du Java pour Android ou de l’Objective-C pour iOS.

La mode est aux multi-plateformes et aux applications qui se distribuent via des Stores. Microsoft prévoit de faire tourner les applications Win32 dans le store d’ici 2016. Un pas de géant compte-tenu du nombre important d’applications Win32 écrites en C/C++ ou en .NET.