Windows 8 : Les applications x86 ne seront pas ARM-compatibles

Le , par Idelways, Expert éminent sénior
Malentendu ou changement de stratégie ? Des responsables de Microsoft viennent de reconnaître que les applications Intel x86 ne seront pas compatibles avec les machines à puce ARM sous Windows 8. Ils invitent de ce fait les développeurs à porter eux même les leurs à cette architecture processeur nouvellement supportée.

Mercredi passé, durant le meeting annuel avec les analystes financiers, le président de la division Windows Steven Sinofsky a balayé d'un revers de main les attentes des journalistes et des développeurs, nourries par l'affirmation officielle préalable que toute application Windows 7 sera compatible Windows 8.

Une affirmation à propos de laquelle Sinofsky estime qu'il était incorrect de supposer un quelconque support sur l'architecture ARM, alors qu'aucune machine Windows 7 n'y était compatible.

Cependant, la confusion a été entretenue par la réponse de Microsoft à une déclaration d'Intel, faite par ce dernier à ses investisseurs, y affirmant que les applications existantes n'allaient pas être compatibles avec Windows 8.
Ce à quoi Microsoft avait rétorqué, qualifiant ces propos d'« inexacts et malheureusement trompeurs ».

Mais cette absence de compatibilité ne découlerait pas d'une impossibilité technique. Des contraintes de performances et de sécurité seraient derrière ce probable revirement de stratégie.

Sinofsky a en effet soulevé des inquiétudes concernant la consommation énergétique des tablettes et Netbooks exécutant des applications qui n'avaient pas été conçues par leurs développeurs avec ce souci d'économie en tête.

L'autre enjeu serait la sécurité. Microsoft désire probablement partir à neuf : « si nous laissons [les applications x86] s'y exécuter, nous ne ferons qu'amener la perception négative d'une partie de l'écosystème », explique Sinofsky avant de reprendre : « alors, les gens vont dire : génial, maintenant c'est facile de porter les virus et les malwares et on va tous les porter [à Windows 8] ».

Mais la stratégie de Microsoft pour créer un écosystème Windows 8 sur ARM hermétique aux virus, ou qui se débarrasse aux moins de l'image d'un écosystème criblé de malwares, reste non claire.

Pour les développeurs Sinofsky y voit en tout cas une opportunité de plus de générer des profits, plutôt qu'un apartheid de programmation.

Source : Microsoft

Et vous ?

Que pensez-vous de cette révélation ?
Devoir réécrire ou en tout cas adapter vos applications à Windows 8 vous déçoit-il ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de stardeath stardeath - Membre expert https://www.developpez.com
le 16/09/2011 à 19:47
perso j'aurai justement été étonné de cette compatibilité, c'est pas comme si c'était 2 architectures différentes. on le voit bien dans le monde de l'émulation, jouer avec différentes types de procs ça donne pas forcément des performances du tonnerre de dieu.

pour moi ce choix de la réécriture/adaptation est logique.
Avatar de timiteh timiteh - Membre averti https://www.developpez.com
le 16/09/2011 à 20:19
Je ne vois vraiment pas ce qu'il y a de surprenant. J'ai beau cherché je ne vois vraiment pas comment Microsoft aurait pu faire s'exécuter des applications x86 sur des processeurs ARM même en utilisant un utilitaire qui convertirait en temps réel les instructions x86 en instruction ARM. Et même dans ce cas je suis pas sur que le résultat soit acceptable pour la majorité des applications.
Donc c'est Intel qui avait raison
Avatar de Freem Freem - Membre émérite https://www.developpez.com
le 16/09/2011 à 21:30
J'imagine que le degré de portabilité d'une appli varie énormément selon le langage et les techniques utilisées.

Il est très possibles que certaines applis codées avec des langages portables (perl, python, C++, java...) n'aient besoin que de remaniement mineurs, voire inexistants en terme de code pour être portées.
Un bel exemple: un certain nombre de paquets disponibles sur les dépots debian sont dispo sur une quantité impressionnantes d'archi, mais pas tous. (tous, les paquets, pas les archi... quoique...)

Après, je ne suis pas persuadé que les virus soient effectivement portables facilement, puisque je présume qu'ils utilisent des failles des systèmes qui sont liées à l'architecture. De même, peut-être que ce n'est plus qu'un mythe, mais j'imagine que c'est encore codé en ASM, langage on ne peut moins portable.
Avatar de thorium90 thorium90 - Membre averti https://www.developpez.com
le 17/09/2011 à 16:21
Citation Envoyé par Idelways  Voir le message

Sinofsky a en effet soulevé des inquiétudes concernant la consommation énergétique des tablettes et Netbooks exécutant des applications qui n'avaient pas été conçues par leurs développeurs avec ce souci d'économie en tête.

Je ne connais pas le développement sur windows mais prenons l'exemple d'Android, les programmes pour de l'embarqué ne se conçoivent, ni ne se code pas du tout de la même manière qu'un programme en Java sur du x86. (et cela allant bien au delà de la gestion de l’énergie). Je ne sais pas si Windows a essayé de copié son OS pour le mobile mais au vu des concurrents je m’étonnerai sérieusement qu'il n'y ai pas de près ou de loin les mêmes concepts de System prenant des décisions arbitraire ayant un impact direct sur la conception de projet de développement.

Citation Envoyé par Idelways  Voir le message
Que pensez-vous de cette révélation ?
Devoir réécrire ou en tout cas adapter vos applications à Windows 8 vous déçoit-il ?

C'est pas une révélation mais évoque plutôt le rêve éveillé de certaine personne ^^
Entièrement normal et ne devrait pas changé de si tôt
Avatar de El_roux El_roux - Futur Membre du Club https://www.developpez.com
le 17/09/2011 à 21:49
Google qui tappe dans le atom et windows qui veut aller vers le ARM...ça aurait pas été moins compliqué de faire l'inverse ?
Avatar de Michaël Michaël - Expert éminent https://www.developpez.com
le 18/09/2011 à 9:56
Atom c'est du x86
Avatar de GCSX_ GCSX_ - Membre confirmé https://www.developpez.com
le 19/09/2011 à 1:22
Il y'a une raison toute simple à cette décision (qui, à mon avis, avait été prise dès le début, c'est juste qu'on ne le savais pas) :

Pour faire turner du code x86 sur de l'ARM (et plus général du code d'une plateforme sur une autre), il n'y a pas 36 solutions. Il faut un émulateur.

Et un émulateur, en l'occurence une sorte de VMWare pour ARM, ça consomme beaucoup de mémoire et de CPU pour "traduire" le programme exécuté à la volée.

Et sur une tablette je vous laisse imaginer les conséquences sur la batterie.

De plus, qui dit émulateur dit support réduit. En effet, rares sont les émulateurs x86 à pouvoir se vanter de supporter toutes les fonctionnalitées des derniers CPU du marché.

Bref, ça aurai été un beau casse-tête, sans parler des soucis de sécurité (virus etc que l'on trouve sous Windows x86 comme suggéré plus haut).

La solution la plus simple est donc que les développeurs recompile leurs programmes avec le futur compilateur ARM de Visual Studio 2011.

Si les APIs Win32 ont été portés à l'identique par Microsoft (ça c'est encore un mystère), ça ne devrai poser aucun problème.
Par contre, si ce n'est pas le cas (ou s'il n'y a pas du tout d'API Win32 sur ARM), il faudra réécrire le programme. (Ce qui, à mon avis, serait un mauvais choix stratégique pour Microsoft).

Quoi qu'il en soit, sachez quand même que les programmes .NET (métro (WinRT) ou non) qui n'apellent pas de DLL x86 devraient être compatibles sans la moindre recompilation (comme c'est le cas entre .NET et Mono, mais avec une compatibilité de 100% du framework).

Donc, pour conclure, si vous voulez utiliser Maya sur votre tablette Windows 8, choisissez-en une x86, ou attendez qu'Autodesk sorte une version ARM ^^
Avatar de griffon0206 griffon0206 - Membre à l'essai https://www.developpez.com
le 21/09/2011 à 0:41
Je pense que visual studio va proposer les toolchain x86, arm, etc...
Porter les applications ne va se résumer qu'à compiler plusieurs fois pour toutes les plateformes,
le tout basé sur du winAPI. Sinon c'est nul.
Sans oublier le C# qui va surement tourner partout.
Avatar de istace.emmanuel istace.emmanuel - Membre actif https://www.developpez.com
le 21/09/2011 à 12:54
Une petite question car la précision n'est pas faite.
On parle bien ici des applications hors dotnet j’imagine ?
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 24/11/2011 à 15:07
Citation Envoyé par istace.emmanuel  Voir le message
Une petite question car la précision n'est pas faite.
On parle bien ici des applications hors dotnet j’imagine ?

quelle version ? WPF, WinForm, SilverLight ? le CLI ne fait pas tout dans dotNet quand à repenser les applis pour du portable, je doute que ce soit optionnel même (ou surtout) en dotNet !
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Responsable protection des données H/F
Safran - Ile de France - Magny-les-Hameaux (78114)
Architecte systèmes études & scientifiques H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil