Microsoft avait annoncé il y a quelques mois que son Windows 10 Mobile accepterait les applications iOS si elles étaient légèrement remaniées au sein de Visual Studio via un modèle spécial. Depuis hier soir, ce « Windows Bridge for iOS » est disponible et son code distribué sous licence MIT.
Microsoft est conscient que le plus gros souci de Windows Phone 8.1 reste le nombre de bonnes applications disponibles. Non pas que le Store en manque, mais leur qualité est très souvent inférieure, et trop d’entre elles sont peu souvent mises à jour. L’une des solutions prévues par l'éditeur pour Windows 10 Mobile, en plus de la généralisation des applications universelles que l’on trouve déjà sur les PC depuis le 29 juillet, est de simplifier le passage des applications Android et iOS vers sa plateforme. Mais les méthodes utilisées sont très différentes.
Pour Android, Windows 10 Mobile embarquera directement un sous-système permettant de faire tourner une majorité d’applications, mais pas toutes. Celles qui s’appuient trop lourdement sur les « Play Services » ne fonctionneront pas. Des mises à jour pourront améliorer la situation plus tard, mais Microsoft ne propose cette solution que comme une porte d’entrée, non un remplacement pour des applications natives.
Pour iOS, point de sous-système, mais un module capable de transcrire assez facilement le code utilisé vers de vraies applications natives, Visual Studio s’occupant de toutes les « traductions ».
Le projet Islandwood devient Bridge pour iOS
On n’avait cependant pas de nouvelles de ce fameux projet, connu sous le nom d'Islandwood. Les développeurs attendaient donc de pouvoir mettre la main dessus et Microsoft est justement revenu hier soir sur la question. L’éditeur a procédé à plusieurs annonces, dont l’arrivée d’une première préversion. En outre, le produit porte désormais un nom officiel : « Windows Bridge pour iOS » et peut cibler Windows Phone 8.1. Enfin, et c’est sans doute le plus important, il passe (majoritairement) en open source et se retrouve directement sur GitHub sous licence MIT.
Le Bridge est en effet constitué lui-même de quatre composants. Le premier d’entre eux est le compilateur, dont le code reste fermé. Il est responsable de la traduction du code Objective-C (le langage Swift sera pris en charge plus tard) et de sa compilation vers une application native. Microsoft indique que la version finale du compilateur sera directement intégrée dans la mise à jour de Visual Studio 2015 attendue pour cet automne.
Réutiliser le code autant que possible
Les autres composants sont le runtime Objective-C, le module de compatibilité avec les API d’iOS ainsi que les outils d’intégration à Visual Studio. Ce sont d’ailleurs ces derniers qui permettent l’importation d’un projet directement depuis Xcode. Pour Microsoft, l’idée est que les développeurs puissent réutiliser la part la plus importante possible de code, en limitant les écritures spécifiques pour les API Windows. Pour autant, il existe des cas où les correspondances ne se feront pas et où il faudra mettre un peu les mains dans le cambouis. Dans le cas d’une absence notable, il est d’ailleurs demandé aux développeurs de le signaler.
Précisons également que cette première préversion est faite avant toute pour réaliser des tests, car le portage vers les smartphones n’est pas possible. Cette Preview est en effet compatibles avec les architectures x86 32 et 64 bits, la compatibilité avec ARM étant prévue pour « plus tard dans l’été ». Dans tous les cas, l'équipe est intéressée par tous les « retours, suggestions, questions et commentaires » que les développeurs pourraient faire.
Les autres Bridges arriveront plus tard
Sachez que l’éditeur a profité de ces annonces pour indiquer que « Windows Bridge pour Android » existait bien lui aussi, mais qu’il n’était réservé qu’à un public restreint de testeurs invités. Parallèlement, Microsoft a proposé des améliorations pour le projet ANGLE, qui a pour objectif de traduire les appels OpenGL vers DirectX. Selon la firme, ces changements ont été acceptés par Google et devraient améliorer les performances.
Enfin, il existe un autre Bridge, prévu cette fois pour les applications classiques Win32 et .NET, si les développeurs souhaitent les mettre sur le Windows Store. La préversion n’arrivera cependant que l’année prochaine, sans plus de précisions.