Android naportován do C# aneb Jde to i bez Javy

2

Android implicitně využívá jako programovací jazyk svých aplikací Javu, která je následně přeložená do mezikódu a nakonec interpretována virtuálním strojem Dalvik VM. Společnost Xamarin stojící za projektem Mono si však řekla, že to zkusí i jinak a přepsala Android tak, aby podporoval C#, překládal jej do CIL a následně po svém interpretoval.

Spolu s tím, také z Androidu kompletně odstranila Dalvik VM a veškerý javový kód. A světe div se, ono to fungovalo. Vznikl tak experimentální operační systém Xobot OS, který kromě syntaktických výhod C# přinesl také určité zlepšení výkonu při práci se strukturami a primitivními nehaldovými typy.

Vzhledem k velikosti zdrojového kódu Androidu byl k převodu použit automatický nástroj Sharpen, který velmi zjednodušeně upravil Javový kód tak, aby syntakticky seděl na standard C#.

Výsledný operační systém je samozřejmě víceméně nepoužitelný a je dobrý jen na nějaké to experimentování, nicméně podle slov tvůrců jim jeho vývoj ukázal jak výrazně vylepšit některé aspekty Mono touch pro Android, což v konečném důsledku oceníme všichni.

A nakonec jen taková zajímavost. I samotný Googlu v počátcích androida uvažoval o tom, že svůj vlastní mobilní operační systém postaví namísto na Javě na C# od Microsoftu. C# s .NET VM byl totiž oproti Javě standardizován ECMOu a navíc i kryt komunitním příslibem, že s ním související patenty nebudou nikdy vymáhány. Kdyby tedy nakonec zvolil C# a .NET, tak by se zřejmě vyhnull jakýmkoliv žalobám a nemusel by se teď strachovat soudního sporu s Oracle.

zdroj: blog.xamarin via rootcz

 

 

  • OndrejPaska

    Jenom doplním, že Java se neinterpretuje ve VM ale používá tzv JIT kompilaci, tedy kód se kompiluje podle potřeby za běhu.

  • Tester

    „Výsledný operační systém je samozřejmě víceméně nepoužitelný a je dobrý jen na nějaké to experimentování“ … proč? Jen kvůli nedostatku aplikací nebo to má i jiné problémy?