Xamarin has ported Android from Java to C#

The code could be used to build Android phones that don't rely on Java

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

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Mikael Ricknäs

IDG News Service
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Kurt Hegetschweiler

Brother PocketJet PJ-773 A4 Portable Thermal Printer

It’s perfect for mobile workers. Just take it out — it’s small enough to sit anywhere — turn it on, load a sheet of paper, and start printing.

Matthew Stivala

HP OfficeJet 250 Mobile Printer

The HP OfficeJet 250 Mobile Printer is a great device that fits perfectly into my fast paced and mobile lifestyle. My first impression of the printer itself was how incredibly compact and sleek the device was.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?