Jusqu'à il y a quelques générations d'appareils, iOS d'Apple détenait un net avantage sur Android en termes de qualité et de quantité des applications. Mais récemment, les applications Android ont rattrapé leur retard et ont dépassé à bien des égards ce qui est disponible, voire possible, sur iOS. Cela est dû en grande partie au fait qu’Android détient désormais la grande majorité des parts de marché des smartphones, ce qui suscite à son tour l’intérêt des développeurs tiers. Cependant, une bonne partie est due au fait qu'Android donne aux développeurs tiers beaucoup plus de liberté que ce qui est permis par iOS.
Malgré l'augmentation de la qualité et de la quantité des applications, il n'est pas rare que certains programmes relativement importants soient spécifiques à une plate-forme. Par exemple, si vous avez beaucoup d'amis utilisant iOS, vous vous sentez sans aucun doute un peu exclu sans la possibilité de communiquer via iMessage ou FaceTime. C’est là qu’interviennent des projets comme Cider.
Développée par des membres du Département d'informatique de l'Université de Columbia, Cider est une architecture de compatibilité de système d'exploitation capable d'exécuter des applications iOS sur Android. Plutôt que d'utiliser une machine virtuelle stricte, cela se fait avec une nouvelle approche incluant l'adaptation du code au moment de la compilation, ainsi que des fonctions diplomatiques. Le premier permet d'adapter le code source d'une application existante sans modification pour l'utiliser sur la nouvelle architecture, tandis que le second permet aux applications étrangères de se connecter aux bibliothèques de périphériques hôtes, y compris celles destinées aux interfaces logicielles et matérielles propriétaires telles que l'accélération 3D matériel.
Une vidéo de la preuve de concept de Cider peut être trouvée ci-dessous. Comme on peut le voir dans la vidéo, les performances générales de l'interface utilisateur sont celles auxquelles on pourrait s'attendre sans le rendu de l'interface utilisateur matérielle 2D. Cependant, la démo comprend également un extrait de Passmark exécutant un benchmark 3D à une bonne fréquence d'images et avec un accès complet aux capacités de rendu du matériel hôte.
//www.youtube.com/embed/Uaple0Ec1Dg
Bien qu'il existe de nombreux obstacles juridiques et techniques qui empêchent qu'un projet comme celui-ci puisse se concrétiser, il est passionnant de voir qu'un tel projet est même possible sur Android. Après tout, cela constitue simplement une preuve supplémentaire du potentiel d’Android.
Espérons que le code source de ce projet sera publié à un moment donné et que d'autres développeurs pourront s'appuyer sur et améliorer ce développement. D’ici là, cela reste tout à fait remarquable. Vous pouvez en apprendre davantage en visitant le page du projet et lire les propos de l'équipe document de recherche complet (avertissement PDF).
Que feriez-vous pour pouvoir exécuter des applications et des jeux iOS sur votre appareil Android? Faites-le-nous savoir dans les commentaires ci-dessous.
[Un grand merci au modérateur senior XDA effondré pour le conseil !]