V souvislosti s probíhajícím soudním sporem mezi Oraclem a Googlem o využití nebo zneužití Javy v systému Android přichází zajímavá zpráva. Společnosti Xamarin, která nabízí nástroje pro vývoj aplikací, se podařilo portovat vývoj aplikací pro Android do programovacího jazyka C#. Dosáhla toho, když se snažila optimalizovat vlastní vývojové prostředí pro použití v Androidu.
Společnost Xamarin byla založena loni v květnu proto, aby převzala správu projektu Mono. To je open source implementace rozhraní .NET společnosti Microsoft, kterou lze použít k vývoji kompatibilních aplikací v podstatě v libovolném operačním systému. Mono do té doby spravovala společnost Novell. Xamarin v současnosti kromě správy platformy Mono nabízí i komerční nástroje pro vývoj mobilních aplikací pro systémy iOS a Android.
Když se vývojáři společnosti snažili zlepšit výkon vývojového prostředí pro Android, narazili na problém s virtuálním strojem Dalvik. Proto se nakonec rozhodli převést zdrojový kód Androidu do C#. Na základě tohoto rozhodnutí vznikl vývojový projekt XobotOS. Jeho výsledkem je portace většiny rozložení a ovládacích prvků Androidu do C#. Podle zprávy na blogu společnosti je tento kód k dispozici na GitHubu.
„Dovedu si představit, že bude možné převést výzkumný projekt XobotOS do systému, který bude použitelný v mobilních zařízeních. Kdyby se toho ujal někdo jako Google nebo Amazon, mohl by být takový systém k dispozici poměrně rychle,“ řekl Miguel de Icaza, technický ředitel společnosti Xamarin. de Icaza, který je velkým propagátorem jazyka C#, si myslí, že Google poněkud uspěchal přípravy, když se rozhodl využít v systém Android Javu. „Myslím, že C# je přehlížený jazyk, protože pochází od Microsoftu. Dnes ale je standardizován organizací ISO,“ řekl de Icaza. Porovnává to s Javou, kterou chtěl Sun původně standardizovat, nakonec ale od svého rozhodnutí ustoupil. Microsoft navíc zahrnul C# mezi prostředky, na které si nikdy nebude klást žádné nároky v oblasti autorských nebo průmyslových práv.
Xamarin nicméně nemá dostatečnou kapacitu na další vývoj systému XobotOS, proto se bude dále věnovat vývojovým nástrojům. Z tohoto výzkumného projektu hodlá použít pouze ty části, které najdou uplatnění v jeho komerčních aplikacích. V současnosti například Mono pro Android využívá grafické knihovny pomocí Javy, pomocí kódu obsaženého v XobotOS se ale může napojit přímo na systémové prostředky Androidu. „Grafické aplikace poběží rychleji s aplikacemi vyvinutými pomocí Mono než s Dalvikem a Javou,“ prohlásil de Icaza. Kromě grafiky hodlá Xamarin využít kód v C# i v dalších oblastech, které ovlivňují výsledný výkon aplikací.
K překladu zdrojových kódů byl využit nástroj Sharpen, který původně vyvinula společnost db4object. Xamarin jej podle de Icazy vylepšil a potom použil k převodu. „Sharpen nabízí mnoho výhod nejen pro nás, ale i pro ostatní, proto ho nabízíme jako open source. Doufáme, že se bude hodit ostatním, kteří chtějí přejít z Javy na C#,“ dodal de Icaza. Sharpen je nyní také k dispozici na GitHubu.