XobotOS: Android Ported to C#
Even as Google and Oracle are involved in patent litigation over the use of Java in Android, Xamarin showcases an experimental version of Android build on C# rather than Java.
Xamarin is the company currently working on Mono, an open source toolkit that is compatible with Microsoft’s .NET Framework. Xamarin claims that their implementation of the .NET runtime is more mature and performant than Android Dalvik JVM. Xamarin created tools for creating Android and iOS applications using .NET and C#, however they also decided to experiment with the possibility of going much deeper and completely replacing the use of Java on Android with C# instead. This has lead to what they now call the XobotOS.
Since Android uses Java heavily, this was no easy task, and Xamarin used automatic, machine-based translation of the Java code to C#. For this they used a tool called Sharpen which they had to improve in order to bring it up to task. The improved version is now available for all. Finally they had a C# version of Android up and running, and it is now available for all on GitHub.
The benchmarks Xamarin has run on XobotOS, show it in quite a favourable light compared to Android running Java:
While Xamarin doesn’t expect XobotOS itself to become a product, or a viable alternative to Android; they have learned a lot in the process, and a number of tools and technologies — such as Sharpen — have improved as a result.
You can find out more about Mono from their website, and you can download Xamarin from here.