Thursday, 3 May 2012

Android being translated to C#


Android being translated to C#
If you follow the news even a little bit, you'll know that Google has been having a bit of trouble with Oracle over the use of certain Java code in Android. So, a group of developers came up with a pretty simple solution: what if Android weren't based in Java? What if, instead, Android could be translated into C#? Turns out, that might not be such a terrible idea. At the very least, it could make Android even faster than it is now. 
The team at Xamarin knows quite a bit about C# and .NET, which it has used to help create a development platform called Mono, which allows for the creation of iOS or Android apps written in C# rather than Objective C for iOS or Java for Android. The apps created can be easily translated for use on either Android, iOS, or Windows Phone, and can be written with full Visual Studio support. And, the team claims that apps built using their platform run better and use less battery than natively written apps. 

Android being translated to C#
Given that background, it was just a short jump for the team to decide to translate the entire Android system into C#. So, they built a tool called Sharpen, which has been translating Android from the code found in the AOSP repository. Xamarin began with translating the 2.x code last year, and started work on Android 4.0 this year. The team says that Android Mono (C# virtual machine) is actually faster than Dalvik (Java VM), and shows some nice bar graphs which seem to corroborate that story. 

The Xamarin Android translation has been named XobotOS, and has been made available on github, so devs can jump in and play around with it. The work is still early, but it has been running well in testing on a Linux desktop. We're interested to see this running on an actual mobile device.