2 votes

À partir de quel moment une application du Windows Store (Metro) ne fonctionne-t-elle pas sur ARM ?

Le plus proche que j'ai trouvé est : Les applications WinRT Metro sont-elles compatibles entre elles (x86/64 et ARM) ?

Je n'ai pas encore développé d'application Metro mais ce que j'essaie de comprendre, c'est que si vous développez une application Metro, vous devez développer contre WinRT (Windows Runtime). C'est la seule façon de construire une application Metro, que vous le fassiez en JavaScript, C#, ou C++, cela n'a pas d'importance... Cela devrait donc fonctionner sur ARM... Est-il possible de créer une application Metro qui ne fonctionne pas sur ARM ?

L'équipe de VLC tente de collecter des fonds sur Kickstarter pour développer VLC Player pour Windows 8 Metro.

http://www.kickstarter.com/projects/1061646928/vlc-for-the-new-Windows-8-user-experience-metro

Le lecteur multimédia VLC pour Windows est actuellement installé sur environ 100 000 000 d'appareils dans le monde. La version existante fonctionne sur le mode bureau de Windows 8 et n'est disponible que pour les PC basés sur Intel. Ce nouveau portage sera intégré de manière native dans la nouvelle expérience utilisateur. et prendra également en charge les tablettes basées sur la technologie ARM dans une version ultérieure

S'ils s'intègrent nativement à l'expérience de l'utilisateur, c'est-à-dire s'ils en font une application Windows 8, pourquoi ne fonctionneraient-ils pas d'emblée sur les puces ARM ?

6voto

ie. Points 2888

Lorsque vous créez une application C# Metro, vous pouvez simplement sélectionner n'importe quelle unité centrale comme plate-forme cible (et c'est ce que font généralement les gens) et créer un paquet unique pour les trois plates-formes. En revanche, lorsque vous développez une application C++, vous devez créer un paquet pour chaque plate-forme séparément. Cela signifie que vous pouvez créer votre application pour les architectures x86 et ARM, mais pas pour l'architecture x64. Vous pouvez publier une telle application et seuls les utilisateurs de x86 et ARM pourront l'utiliser. Bien sûr, le support des trois plateformes est une bonne chose, mais vous pouvez utiliser dans votre projet des bibliothèques qui ont été construites uniquement pour x64 et x86. Cela vous empêchera de créer une version ARM de votre application jusqu'à ce que les ports ARM de ces bibliothèques soient disponibles. Je ne suis pas sûr des bibliothèques utilisées par l'équipe de VLC, mais la possibilité d'un tel scénario existe bel et bien.

3voto

Jürgen Bayer Points 1065

Théoriquement, vous pouvez (au moins dans les programmes C# et C++) invoquer des fonctions de l'API Win32 qui ne sont pas prises en charge. Cela signifie que ces fonctions ne fonctionneront probablement pas sous Windows RT. Elles fonctionneront sous Windows 8 dans la plupart des cas (bien que certaines provoqueront une exception si elles sont invoquées). Un exemple est la fonction GetVersionEx qui fonctionne sous Windows 8, mais échoue à la certification et ne sera probablement pas disponible sous Windows RT.

Puisqu'il est possible (mais pas facile) d'installer une application du Windows Store sur Windows 8 sans passer par le Store, il peut parfois être judicieux d'utiliser des fonctions non prises en charge. Je doute cependant qu'il soit possible d'installer une application du Windows Store sur un appareil ARM (Windows RT) sans le Store. Parce que la mise en place d'une application dans le Store nécessite une certification, il est théorique d'avoir des applications Windows Store qui ne fonctionneraient pas sur des appareils ARM. En supposant que la certification garantisse que les applications puissent fonctionner sur Windows RT, c'est bien sûr possible.

1voto

ma_il Points 1903

En ce qui concerne le projet VLC, je suppose qu'il dispose d'un code de décodage spécialisé qui utilise du code assembleur ou d'autres fonctionnalités de bas niveau (peut-être l'accélération GPU) qui devra être adapté.

Le code C++ "normal" devrait également compiler sur toutes les plates-formes, mais comme l'a mentionné @ie. vous devrez mettre en place des configurations distinctes pour chaque plate-forme.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X