Le projet Islandwood, ou Windows Bridge for iOS, est un pont conçu par Microsoft pour permettre aux développeurs d’applications iOS de porter leurs créations sous Visual Studio 2015. Depuis son passage en open source pendant l’été, il a reçu de nombreuses participations sur Github. Microsoft passe désormais à l’étape suivante et cherche à séduire par la simplicité.
Microsoft travaille parallèlement sur deux ponts, l’un pour Android (projet Astoria), l’autre pour iOS (projet Islandwood). Ce dernier est à un stade beaucoup plus avancé et des développeurs s’en servent déjà. L’objectif est simple : récupérer le code Objective-C (le langage Swift n’arrivera que plus tard) d’un projet créé sous Xcode sur Mac pour l’importer dans Visual Studio 2015. De là, et avec les modifications idoines, une application peut être générée pour Windows 10.
Islandwood déplace le code Objective-C de Xcode vers Visual Studio
En août dernier, le projet profitait d’une petite accélération avec le passage en open source. Les sources du Windows Bridge for iOS - ou WinObjC - sont ainsi disponibles sur GitHub et ont enregistré depuis 610 participations au code, pour une dizaine de nouvelles versions en tout. Le projet remporte un certain succès, ne serait-ce que parce qu’il permet des économies en ressources humaines : les développeurs utilisant l’Objective-C continuent à s'en servir au sein de Visual Studio 2015. Même si cela suppose de maîtriser un nouvel environnement de développement intégré (IDE), ils n’ont pas à apprendre le C# par exemple.
On peut avoir une idée de ce qui est autorisé par ce projet en se penchant sur l’application Facebook Beta actuellement disponible dans le Windows Store. Elle nécessite d’avoir été invité au programme de test pour s’y connecter, mais un signe ne trompe pas : quand apparaît l’erreur indiquant qu’il faut être membre du panel de test, le panneau a l’air de provenir tout droit d’iOS 9. D’ailleurs, plonger dans les ressources du package d’installation laisse apparaître des mentions du système mobile d’Apple.
Une conversion simple... avec des projets simples
Dans tous les cas, le projet continue de s’enrichir, et avec lui la couverture des API d’iOS et d’autres composants tels que GLKit. Du coup, Microsoft passe à l’étape supérieure : en parler et orienter la communication sur la facilité de conversion des projets. Sur l’un de ses blogs, l’éditeur aborde un exemple d’application iOS créée pour l’iPad et dont le code se trouve dans Xcode 7.1. On peut y voir les étapes menant à la transition vers Visual Studio, la suite du développement en Objective-C et la finalisation du projet en générant un paquet Windows.
L’exemple est simple, peut-être trop, ce que les développeurs auront rapidement remarqué. Le projet créé dans Xcode n’est qu’en Single View, et ce n’est pas un hasard : le pont vers iOS ne prend pas encore en charge tous les éléments disponibles. Microsoft ne s’en cache pas et indique à la fin de son billet que les développeurs doivent se contenter d’applications assez simples. Cependant, l’ajout récent des Storyboards (qui résument les flux d’utilisation au travers d’une application) facilite grandement l’importation, et seuls manquent réellement les composants qui permettraient de faire transiter des applications plus complexes.
Un potentiel intéressant si les conversions sont maîtrisées
Globalement, Microsoft est sur la bonne voie si ce pont pour iOS est capable à terme de convertir presque n’importe quelle application iOS en application Windows. Ce ne sera sûrement pas le cas, mais l’objectif de la firme est probablement ailleurs : réduire les investissements nécessaires. Le constat est malheureusement simple pour Microsoft en effet, puisqu’une grande partie des entreprises doivent déjà investir pour sortir une application sur Android et iOS, qui à deux représentent une part écrasante du marché. Ce que Microsoft vise, c’est bien le remplissage de son propre Windows Store.
Mais la firme devra faire attention à la manière dont cette conversion peut se faire. Comme on l’a vu avec l’application Facebook Beta en préparation, il n’est pas certain que Windows 10 ressorte gagnant de telles transitions si l’ergonomie des applications rappelle au final celle de la plateforme dont elle est issue. On peut mettre cette présence « incongrue » sur l’aspect non finalisé du projet et il est possible que Facebook soit au plus près de ce développement, l’application étant alors enrichie avec les évolutions du Bridge.
Les développeurs qui souhaitent s'essayer au pont pour iOS pourront en récupérer la Preview depuis cette page.
Et du côté d'Android alors ?
Les travaux sur Islandwood appellent également une autre question : qu’en est-il d’Astoria ? Le pont pour Android fonctionne de manière très différente : il y a des outils pour simplifier la reprise du code, mais pas de conversion aussi globale. Par contre, Microsoft travaille sur un sous-système Android qui doit permettre à Windows 10 Mobile de faire fonctionner une partie des applications venant de la plateforme concurrente, tant qu’elles ne s’appuient pas trop sur les Google Services. Mais les dernières rumeurs au sujet d’Astoria font plutôt état d’une renonciation.
Il est possible en effet que les priorités changent et que le projet Astoria se rapproche davantage de ce qui se fait avec Islandwood. Les dernières builds de Windows 10 Mobile ne contiennent plus le sous-système Android, alors que nous avions pu tester nous-mêmes son fonctionnement il y a quelques mois. La semaine dernière, le site WMPU signalait que plusieurs ingénieurs travaillant sur Astoria avaient été réaffectés à d’autres tâches. La question qui se pose maintenant est de savoir si Microsoft compte donc toujours proposer un tel sous-système, ou si le projet va plutôt s’orienter vers une conversion des projets façon Islandwood. Notez cependant que dans ce cas, la situation serait un peu plus compliquée car les développeurs Android ont plusieurs IDE à leur disposition. Pour l’instant, Microsoft ne communique pas sur le sujet.