Le mois prochain, lors de la conférence Build, Microsoft permettra enfin de compiler en ARM64 via le SDK Windows. Ce qui ne résout en rien l’un des plus gros problèmes du système.
Actuellement, les applications UWP sont systématiquement compilées pour trois plateformes : x86, x64 et ARM. La machine se connectant aux serveurs récupère la version adaptée. Dans le cas d'un PC classique, la mouture x64, x86 s'il n’est pas 64 bits. Pour un PC ARM, la version ARM. Logique.
Ce fonctionnement n’est valable que pour UWP. Les logiciels Win32, passés à la moulinette du Desktop App Converter, sont limités à l’architecture supportée lors de la compilation par l’éditeur. Dans une majorité de cas, les logiciels sont en x86 ou capables d’assurer aussi le x64. Plus rarement, ils ne sont disponibles qu’en x64, comme Photoshop Elements. Un PC ARM ne peut pour sa part émuler que le x86.
L'éternel rapport bénéfices/risques
Comme on peut le voir, les PC ARM sont limités au seul 32 bits pour les applications, qu’il s’agisse d’ARM ou x86. L’arrivée le mois prochain d’une révision du SDK Windows, confirmée par Microsoft à Engadget, va donc faire bouger les lignes en ajoutant la compilation ARM64. Bien qu’il s’agisse d’un véritable 64 bits, la situation risque de ne pas être bouleversée pour autant.
Pourquoi ? Parce qu’il n’y a que deux cas de figure possibles. Soit il s’agit d’une application UWP et ARM64 devient le quatrième point de sortie pour la compilation, simplifiant largement le travail du développeur. Soit il s’agit d’un logiciel Win32, et l’éditeur tiers doit tout recompiler lui-même.
Mais le jeu en vaut-il la chandelle ? Côté UWP, la procédure est largement simplifiée, le framework étant adapté. Encore faut-il que les applications soient suffisamment entretenues par leurs éditeurs pour bénéficier du nouveau traitement. Pour Win32, la situation est plus complexe : l’éditeur devra impérativement tout recompiler lui-même vers une architecture qu’il ne connaît peut-être absolument pas.
Va immanquablement se poser la question de l’investissement et du rapport bénéfices/risques, surtout pour les logiciels Win32. Or, les bénéfices découlent de la part de marché de Windows 10 pour ARM, limité à quelques machines disponibles depuis peu de temps. Difficile pour les éditeurs tiers d’y trouver pour l’instant un véritable intérêt au vu du public concerné.
PWA : opportunité ou « aveu d'échec » ?
La situation est d’autant plus complexe que Microsoft a confirmé récemment que la version 1803 de Windows 10, diffusée la semaine prochaine, officialisera le support des PWA (Progressive Web Apps) par le système. Des applications web qui seront référencées de la même manière que les autres dans le Windows Store. Twitter a déjà sauté sur l’occasion, jetant sa version UWP à la poubelle, au profit de sa mouture Light (mobile) encapsulée.
Les PWA sont une vraie occasion pour le géant de faciliter l’arrivée de nouvelles applications dans son Store. Elles ne sont pas adaptées aux lourds calculs ou aux jeux AAA, mais conviennent pour la plupart des besoins. Si les développeurs répondent présents, la situation de Windows 10 pour ARM en sera d’autant plus améliorée, puisque les PWA peuvent fonctionner partout. Au détriment d’une compilation ARM64 qui aura moins de sens, en dépit du potentiel gain de performances.
Par ailleurs, l’annonce de Microsoft ne répond qu’en toute petite partie au souci du 64 bits. Les logiciels x64 ne pourront pas davantage fonctionner, car Windows 10 ne peut pas émuler ce code. L’arrivée d’ARM64 n’y changera rien, et des logiciels uniquement 64 bits comme Photoshop Elements resteront interdits de séjour sur le système.
Un vieux souci de plateforme logicielle
Malgré un système désormais robuste alimenté par les retours et demandes des utilisateurs (la Spring Creators Update est un très bon cru), Microsoft a toujours un problème de plateforme logicielle l’obligeant à jouer les funambules avec les technologies de développement
Un problème très loin d’être nouveau et qui a déjà plombé Windows 10 Mobile. Les développeurs ont le choix entre un Win32 qu’ils connaissent très bien mais n’évoluant plus, un UWP plus moderne mais incomplet, ou encore des langages web pour des PWA depuis peu. Microsoft pousse autant que possible UWP, mais ces API réclament une cassure dans les habitudes, et de réfléchir à de nouvelles ergonomies. Un cap que beaucoup n’ont pas passé, ou seulement de manière partielle, comme pour « faire plaisir » à Microsoft (qui avait largement incité par le porte-monnaie).
Notez tout de même que l’arrivée du nouveau SDK ARM64 se fera durant la conférence Build, du 7 au 9 mai. Il est probable que Microsoft en dise davantage sur ses projets pour ARM, la société ayant promis de dévoiler l’avenir de son système d’exploitation à cette occasion.