Xamarin has ported Android from Java to C#
- 03 May, 2012 21:21
- Comments
Xamarin has ported Android to C# in an effort to improve its own development tools and show that the OS doesn't have to be dependent on Java.
Development tools vendor Xamarin was started in May last year to take care of the Mono project, an open source implementation of the .NET framework, after Attachmate decided to drop it following its deal with Novell, where Mono had its home previously.
Today, Xamarin offers cross-platform development tools for iOS and Android.
When working on how to improve the performance of its tool for Android, the company hit a wall because of performance issues with Dalvik, which is Android's virtual machine, it wrote in a blog post on Tuesday.
One idea the Xamarin team had was to translate Android's source code to C#. A few months later skunkworks project XobotOS was born.
The result of the project's efforts is that most of Android's layouts and controls have been ported to C#, and the code is available on GitHub, according to the blog post.
"Turning XobotOS into something that can run on phones can be done ... Someone like Google or Amazon could do it and get 10 years of performance optimization," said Miguel de Icaza, CTO at Xamarin.
As big proponent of C#, de Icaza thinks Google was a little premature when it decided to go with Java for Android. Google is now embroiled in a court battle with Java owner Oracle over whether it violated patents and copyrights in its use of Java.
"I think that C# gets overlooked because it came from Microsoft originally. But today it is an ISO standard," said de Icaza. He contrasts that history with Java's, which Sun submitted for standardization but then withdrew.
Microsoft has also included C# in its Community Promise, which states that the company "irrevocably promises not to assert any" claims against it.
In the end, Xamarin wants to concentrate on improving its development tools, and so XobotOS will not be a focus going forward, the company said.
However, a few technologies that have come out of the effort will be included in future versions of its products.
For example, today, Mono for Android accesses the underlying graphics libraries via Java, but with the code Xamarin built for XobotOS it can skip that step and get straight to the native rendering code in Android's graphics engine.
"Graphics applications will run faster with Mono and C# than they do with Dalvik and Java," said de Icaza.
Xamarin now has the tools necessary to replace some chunks of Java code with C# code where performance is critical and when C# can offer an improvement, as well.
The translation was made easier using a tool called Sharpen, which was originally created by db4object. Xamarin improved the tool, making it more scalable and updating it to work with modern Java idioms, while doing the actual translation work, according to de Icaza.
"Sharpen has a lot of benefits, not only for us but for other people, so we open sourced all of our code. We are hoping it will be useful for other people that are looking at doing Java to C# translations for whatever needs they might have," said de Icaza.
Along with XobotOS, the new version of Sharpen was also published on GitHub.
Send news tips and comments to mikael_ricknas@idg.com
- Bookmark this page
- Share this article
- Got more on this story? Email ARN
- Follow ARN on twitter
- Virtualization and Consolidation Solutions
- McAfee Whitepaper: Building the Business Case for Privacy
- Modernizing Security for the Small and Mid-Sized Business – Recommendations for 2013 (Sponsored by McAfee)
- MSP Guides for effective Endpoint Management Solutions
- Smart Cloud Provisioning: Low Cost and highly Scalable Entry Point into Cloud Computing
- CITRIX SYNERGY ’13: Look beyond Cloud infrastructure, says Liang
- CITRIX SYNERGY ’13: Christiancen highlights the need for collaboration
- CITRIX SYNERGY ’13: Devices will change how people work, says Duursma
- Are we ready for a mobile-first world?
- Smartphone chips could replace server processors in HPC, researchers say
-
Attack on Telenor was part of large cyberespionage operation with Indian origins: report
-
Box buys iOS app to improve its own
-
Growing mobile malware threat swirls (mostly) around Android
-
Barracuda Networks raises free capacity of Copy.com to 15GB
-
Coke gives peace a chance ( +16 photos)





