La société Xamarin, spécialisée dans le développement multiplateforme sur mobile, annonce avoir porté le système Android sur C#.
La société Xamarin travaille sur la technologie Mono. Celle-ci vise à proposer une alternative ouverte à la plate-forme de développement .NET. Sur son blog officiel, l'équipe explique que les performances de la machine virtuelle Dalvik au sein d'Android ne seraient pas au rendez-vous car soumises aux contraintes de Java. Par ailleurs, Dalvik ne pourrait pas profiter des optimisations de la machine virtuelle d'Oracle avec HotSpot.
Rappelons également qu'en 2010, Oracle avait lancé des actions en justice contre Google en expliquant que la plateforme Android faisait usage de certaines technologies déposées. Plus spécifiquement, le spécialiste des systèmes de gestion de bases de données détient des droits sur le code de Java après le rachat de Sun. Google aurait violé ces technologies au sein de Dalvik.
Après s'être interrogé sur les manières d'optimiser Mono sur Android, l'équipe de Xamarin a finalement entrepris d'ôter complètement Java et de réécrire le code source dans son intégralité en C# via l'outil Sharpen. A l'heure actuelle, ce nouveau projet, baptisé XobotOS, permettrait d'obtenir les contrôles d'Android directement en C#. Les premiers travaux ont été réalisés sur le code source d'Android 2.x puis ont été mis à jour sur la version 4.0 du système de Google lorsque le code fut ouvert aux développeurs.
De ces travaux il en résulterait alors des performances largement améliorées. Ces dernières devraient encore être optimisées en accédant de manière native à la bibliothèque graphique Skia sans passer par Java. Les développeurs retrouveront davantage d'informations sur cette page et le code source de XobotOS sur le répertoire de GitHub.