Après les apps iOS sur macOS, pourquoi pas des apps Android sur Windows

Mickaël Bazoge |

Sur les Mac M1, macOS peut faire fonctionner des apps iOS — une bonne idée sur le papier, mais dans la vraie vie, ça n'a rien de franchement folichon. Mais ça n'empêche pas d'aller encore plus loin : pourquoi pas des apps Android sur Windows, tiens ? On savait que Microsoft et Google ont travaillé de près pour mieux intégrer Android dans le form factor du Surface Duo (lire : Surface Duo : deux écrans pour transformer l'avenir de la mobilité). Les deux larrons pourraient poursuivre cette belle amitié.

L'application Your Phone permet d'afficher une app Android sur Windows depuis un smartphone Samsung.

Selon Windows Central, l'éditeur de Windows développe cette possibilité qui offrirait à la plateforme des millions d'applications supplémentaires à bon compte. Le projet Latte, qui succède au projet avorté Astoria, s'appuie sur WSL, le sous-système de Windows pour Linux, pour supporter les apps Android. Cela ne suffira pas : Microsoft devra également fournir un sous-système Android pour que les applications mobiles puissent fonctionner.

En revanche, et malgré les relations cordiales qu'entretiennent les deux larrons, il est probable que le projet Latte ne pourra pas prendre en charge les Play Services que Google réserve aux appareils Android et à Chrome OS. Les développeurs d'apps Android qui voudront en faire profiter les utilisateurs de Windows devront donc apporter des modifications au code pour retirer les dépendances aux Play Services. Ces mêmes développeurs seront ensuite en mesure de proposer leurs apps Android au Microsoft Store.

Le projet Latte pourrait devenir réalité dans la mise à jour automnale de Windows en 2021.


avatar hackroman | 

Je ne suis pas convaincu dans ce sens. Google a Chrome Os. Ont-ils donc un avantage de se rapprocher autant de Windows au lieu de pousser leur propre Os ?

avatar bl@ck warrior_69 | 

@hackroman

C'est plutôt Microsoft qui a intérêt à se rapprocher d'android. Ils en ont fait leur plateforme mobile et cherchent à bâtir un écosystème comme Apple le fait entre les Mac et l'iPhone.

avatar Napoba12 | 

Ca permettrait de pouvoir installer plein de sortes de nouveaux virus 😂😂

avatar Salapeche | 

Tant que MS reste loin des logiciels apple, elle évite 99% des écrans qui se produisent sur windows. :)

avatar Ginger bread | 

@Napoba12

C’est du mirroring pour le moment

avatar AliAzzz | 

Il y’a une chose que je ne comprends pas, je ne suis pas un expert quelqu’un peut m’éclairer svp : comment ça se fait qu’on ait besoin d’un processeur spéciale sur les macs pour faire tourner une application iOS ou un sous système Linux sous Windows pour faire tourner une appli Android alors que ces applications (iOS ou Android) sont en grande majorité développés sur ces systèmes (macOS ou Windows) ? Et si il y a une grande différence pourquoi pour les apps iOS on a besoin d’un M1 pour macOS alors que pour les apps Android sur Windows un processeur Intel devrait suffire ?

avatar hirtrey | 

@AliAzzz

Chaque processeur utilise leur langue. Les CPU Amd parlent l'anglais et les CPU intel parlent le chinois.
Chaque type de compilateur traduit en Anglais, Chinois, ...... Donc au moment de la compilation, tu demandes dans quelle langue tu veux traduire. L'iPhone parle anglais, les anciens macbook (Intel) parlent le chinois et les nouveaux macbook (M1) parle l'anglais. Donc maintenant l'iPhone et les macbook (M1) parlent la même langue.
Rossetta 2 permet de traduire le chinois en Anglais.

Pour Android, quand tu vas compiler ton programme, le compilateur ne va pas le traduire en Anglais ou en chinois, il va faire un dessin. C'est au moment où tu installes ce dessin sur ton téléphone qu'Android va traduire ton dessin dans la langue que ton téléphone parle.

Concernant les programmes Android pour Windows, Microsoft va récupérer le dessin et va le traduire dans sa langue. Si Windows pour Intel en chinois, si Windows ARM en anglais.

J’ai assez simplifié, car il y a aussi l’OS qui intervient. Android sur les CPU AMD ne parlent pas le même Anglais que iOS sur CPU AMD qui est encore diffèrent de l’anglais de Windows ARM.

avatar byte_order | 

@AliAzzz
Sous Android toutes les apps sont distribuées non compilé natif mais sous forme de pseudo code, et chaque Android à son Rosetta 2-like depuis des années déjà, appelé ART, qui transcode le pseudo code dans le code natif du smartphone lors de l'installation et à la demande (JIT).

Bref les apps Android sont indépendantes de l'architecture CPU, tandis que les apps iOS sont compilées pour une architecture cible.

avatar raoolito | 

@byte_order

Ca fait penser au bitcode de chez apple
Il existe aussi depuis un bail et toutes les app ios sont stockées ainsi et recompilees a la volée suivant la destination

avatar David Finder | 

@hirtrey

Chapeau la vulgarisation !
J’aime beaucoup le coup des langues pour faire comprendre le principe.

avatar lmouillart | 

Dans la pratique il n'y a aucune différence.
Chez Apple le mécanisme d'utilisation de programmes Intel sur ARM s'appelle Rosetta 2.
Chez Google ce même mécanisme, mais en sens inverse s'appelle libhoudini.

Si une majorité de programmes pour Android peut fonctionner sur n'importe quel type de processeur, dans de nombreux cas il faut l'application Android liée à la plateforme. La plateforme Intel étant beaucoup moins utilisé qu'ARM sur Android on fait appel à la conversion de programme la la volée (à la Rosetta/2).
C'est pour cette raison par exemple que bien que les Chromebook ARM soient moins puissants que leur pendant Intel, ils font mieux tourner les applications Android (pas de conversion).

---
Actuellement Chromebook on ne peut pas utilisé de mécanisme comme dans Rosetta 2 (AOT), car il n'y a que peut de mémoire (souvent RAM 2/4Go) et stockage (souvent 32Go).

avatar IceWizard | 

@AliAzzz

« Et si il y a une grande différence pourquoi pour les apps iOS on a besoin d’un M1 pour macOS alors que pour les apps Android sur Windows un processeur Intel devrait suffire ? »

Ce n’est pas le cas. Les applications smartphones actuelles utilisent un code universel, multi-processeurs. Au moment de l’installation, ce code est converti dans le langage machine spécifique au processeur du device utilisé. C’est une innovation relativement récente. Sur iOS, cela s’appelle le bitcode.

Pour fonctionner sur une machine, une application iOS a besoin d’un système d’exploitation compatible iOS. Le MacOS des nouveaux ordinateurs basés sur le processeur M1 a cette compatibilité.

En théorie, MacOS Intel pourrait faire la même chose. D’ailleurs, L’environnement de développement XCode contient un outil permettant d’exécuter des applications iOS sur les machines Intel, mais il possède de nombreuses limitations, surtout pour les performances graphiques.

Créer un iOS efficace sur une plateforme Intel paraît difficile, car une partie de ce système d’exploitation n’est pas logiciel, mais gravé directement dans la puce du processeur. Apple a du juger que cela n’en valait pas la peine, sachant que MacOS Intel est sur la pente déclinante.

C’est beaucoup plus facile sur processeur M1 qui supporte nativement toutes les fonctions hardware d’iOS, surtout au niveau graphique.

Quand je fais tourner une grosse application graphique sur le simulateur iOS de mon MBP 16p avec une carte Radeon, les ventilateurs hurlent à la mort, alors que la même application tourne parfaitement sur un iPad, sans le faire chauffer.

avatar AliAzzz | 

@IceWizard

@lmouillart

@byte_order

@hirtrey

Merci pour vos réponses, c’est plus clair maintenant !

avatar Salapeche | 

Avec nox et bluestacks ça fait juste ~10ans que les apps android sont utilisable sous windows... Faut sortir de vôtre grotte défois...

avatar YetOneOtherGit | 

@Salapeche

"Faut sortir de vôtre grotte défois..."

Faut voir la différence entre un support officiel et des solutions tierces parfois 😎

avatar YetOneOtherGit | 

“Sur les Mac M1, macOS peut faire fonctionner des apps iOS — une bonne idée sur le papier, mais dans la vraie vie, ça n'a rien de franchement folichon.”

pourtant certains annonces que c’est le grand bouleversement de l’écosystème logiciel du Mac et que c’est l’évidente preuve d’une future obligation de passer par le MAS pour tout 😉

avatar frankm | 

Frankenstein

avatar dvd | 

La solution actuellement pour lancer les app Android sur w10 est assez contraignante. Il faut installer une application sur son smartphone assez chiant.
Néanmoins Microsoft est sur la bonne voie pour empêcher les pc users de basculer vers les chromebook. À l'heure du tout mobile cela donnera un atout supplémentaire aux pc. Ce ne sera pas parfait mais par itération ils feront quelques chose de bien. Pouvoir toucher 1 milliard de device supplémentaires est un argument difficilement discutable.

avatar ech1965 | 

A quoi bon ? Ya pas assez d'applis qui tournent sous windows ?

avatar raoolito | 

@ech1965

Je pense que l’objectif s’appelle windows ARM où effectivement les app ne sont pas pléthore

avatar dvd | 

Dans un monde ou c'est "mobile first" tu te dois de proposer des applications qui sont disponibles sur pc et smartphones. La ludodèque du Windows Store est assez maigre. le support des applications Android est une très bonne stratégie de la part de Microsoft. C'est faire preuve de sectarisme de penser le contraire.

Rendre ton application Android disponible sur, potentiellement, 1 milliard de devices c'est un sacré argument commercial.

avatar Silverscreen | 

En termes de performance, stabilité, ça donne quoi des apps Android sous Windows ? Même avec du pseudo code et libhoudini machin, j’ai du mal à croire que les apps Android ne soient pas optimisées pour du ARM avant du Intel étant donné que 99% des produits où est installé Android tournent sur ARM...

Si l’utilisation des apps iPads sur Mac M1 c’est pas folichon, que penser des apps Android sur PC où non seulement le format d’écran diffère mais le matériel aussi ? Est-ce que tous les développeurs ont prévu que leurs apps puissent tourner idéalement sur un écran 16/9 de 24 pouces ? Ou est-ce qu’Android fait à ce point abstraction de la plateforme que toute app pour smartphone a une UI parfaite sur ordi ou tablette ?

avatar en chanson | 

@Silverscreen

Contrairement à macOS qui n’est pas prévu pour le tactile, Windows 10 l’est.

avatar Silverscreen | 

@en chanson

Entre la théorie et la pratique il y a parfois un gouffre : quand on voit le peu d’applis qui tournaient sur les premières surfaces et l’interface presque héritée de XP de certaines qui tournent sur Windows 10, même si le système est pensé « tactile », il y a de la marge... Un peu comme quand Apple explique que passer une app iOS à macOS via Catalyst c’est simple comme appuyer sur un bouton...

Donc je me dis que les apps Android sur Windows, les premiers temps, ça risque d’être comme les apps iPad sur Mac, un gros manque d’optimisation voire une ergonomie totalement loupée...

avatar YetOneOtherGit | 

@en chanson

"Contrairement à macOS qui n’est pas prévu pour le tactile, Windows 10 l’est."

En théorie: oui

En pratique: c’est du bricolage d’IHM

Pages

CONNEXION UTILISATEUR