XobotOS – Android in C# schneller als Java-Original

Manche Dinge klingen schon sehr nerdig:

So haben die Entwickler des Mono-Herstellers Xamarin die Android Virtual Machine von Java auf C# übersetzt, um so noch einiges an Performance herauszuholen.

Dalvik Virtual Machine

Die Dalvik Virtual Machine ist die Laufzeitumgebung einer Android-App. Will man ein neues Programm starten wird zunächst eine VM gestartet, in der dann dieses Programm läuft.

Damit ist die Dalvik Virtual Machine ein Hauptbestandteil von Android. Da Dalvik eine noch recht junge Virtual Machine ist, die nicht so performant läuft wie das Mono-Framework, kam bei den Xamarin -Entwickler die verrückte Idee diese VM auf Mono und damit auf C# zu portieren.

XobotOS – Android in C#

Gesagt, getan und schon legten die Entwickler los. Und laut der ersten Tests ist die Rechnung wohl aufgegangen.

Die neue XobotOS getaufte Virtual Machine für Android soll tatsächlich schneller sein als sein Java-basierendes Original (mehr dazu erfahrt ihr auf der Xamarin-Website).

Für die Übersetzung der über 1 Million Codezeilen hat man übrigens auf das Open Source Tool „Sharpen“ zurückgegriffen, das Java-Code nach C# konvertiert. Per Hand wäre das auch sonst nicht so schnell zu schaffen gewesen 😉

Erfahrungen nutzen

Zukünftig will man sich aber nicht auf XobotOS fokussieren, sondern wieder auf die typischen Mono-Produkte von Xamarin konzentrieren. Dass XobotOS aber trotzdem nicht ein reines Spaßprojekt war, sieht man daran, dass man die Erkenntnisse aus diesem Projekt durchaus in seinen eigenen Projekten nutzen will.

So werden beispielsweise die Softwareentwickler zukünftig in Mono for Android direkt auf den „Native Rendering Code“ von Android zugreifen, anstatt wie bisher über Extraschichten zu gehen.

Wer Interesse an dem Sourcecode hat, der kann sich diesen nun von GitHub herunterladen, wo er vom Mono-Erfinder Miguel de Icaza hochgeladen wurde: https://github.com/xamarin/XobotOS