//Build 2015: Astoria et Islandwood ou comment Microsoft permet aux applications Android/iOS de tourner sur Windows!
Si vous avez suivi les annonces de la //Build 2015, vous avez sans doute entendu parlé de ce qui a fait un buzz sur la toile: la recompilation d’applications iOS et Android sur Windows (Phone) 10.
Ce petit exploit est rendu possible grâce à 2 nouveaux Toolkit proprosés par Microsoft:
- Universal Windows Platform Bridge for the Android Runtime (Codename “Project Astoria”)
- Universal Windows Platform Bridge for iOS (Codename “Project Islandwood)
L’objectif de Microsoft est de permettre aux développeurs iOS / Android de prendre leur code source et de le recompiler sur la plateforme Windows, avec un minimum de modifications de code:
Bien sur, sous le capot, il y a beaucoup de travail qui est effectué par Microsoft: mapping des contrôles natifs sur Windows, remplacement des appels aux APIs Google Play Services, mapping d’OpenGL sur DirectX grâce au projet Angle, etc.
Techniquement, les applications Android compilées avec le projet Astoria s’exécutent dans un “container” dédié, qui possède un sous-ensemble des permissions Android et Windows. De plus, si certaines applications Windows font du partage vers des “Astoria Android apps”, alors le mapping en Intent (que l’on connait sur Android) sera fait automatiquemet pour vous. En termes d’Android API, seul l’API Level 19 (Kit Kat) est supporté, tout ce qui est au dessus (API Level 20 avec Wear, etc.) ne fonctionnera pas sur Windows.
Point intéressant: certaines APIs, comme les APIs WinRT pour les Live Tile sont même directement exposées en Java grâce aux principe des projections:
Microsoft met à disposition des développeurs qui font partis de ce programme Preview, un outil qui permet de tester ses APKs et de dire s’ils sont compatibles avec le project Astoria: https://dev.windows.com/ProjectACompatCheck/SelectAPK?logged_in=1
Côté iOS, Microsoft nous propose là-encore de belles choses avec un compilateur et un runtime, des APIs WinRT utilisables depuis du code Objectif-C, etc.:
Toutes les APIs ne sont pas supportés malheureusement mais, comme pour Android, les APIs iOS seront mappées sur des APIs Windows:
Pour en savoir plus, n’hésitez pas à (re)voir ces 2 sessions de la //Build:
- “PROJECT ASTORIA“: Build Great Windows Apps with Your Android Code
- Compiling Objective-C Using the Visual Studio 2015 C++ Code Generation that Builds Windows, SQL, .Net, and Office
Sans avoir eu l’occasion de jouer avec, c’est toujours compliqué de se rendre compte des possibilités mais, une chose est sûre, l’idée est intéressante (et techniquement impressionnante). N’hésitez pas à vous inscrire aux programmes Preview pour avoir l’occasion de tester ces 2 nouveaux Toolkit!
Happy coding! :)
Commentaires