Как известно, система Java достаточно глубоко интегрирована в операционную систему Android, хотя формально она и не является ее неотъемлемым компонентом. За подобную любовь к Java компания Google сейчас и расплачивается в суде, проходящем в США по иску Oracle. Последняя обвинила Google в нарушении патентов и авторских прав на Java.
В Xamarin предложили избавить Android от Java, заменив эту систему на иной набор компиляторов и системных окружений. В частности, на Microsoft .Net и язык программирования C#. В Xamarin говорят, что .Net и C# являются объектно-ориентированными, имеют собственные API для взаимодействия со сторонними программами, но их главное преимущество заключается в том, что почти все C# и .Net- спецификации охватываются независимыми стандартами ISO, а сама Microsoft, как правообладатель этих систем, подписала юридически обязывающие соглашения не преследовать в суде разработчиков, внедряющих .Net и C# в свои разработки. Oracle и Sun этого не сделали.
Ранее на базе спецификаций Net компания Novell уже разработала Linux-среду Mono, позволяющую запускать .Net-приложения в Linux. Сейчас эта среда успешно применяется по всему миру и никаких претензий по данному поводу Microsoft не выдвигает.
Таким образом, в разработке Xamarin поверх системного ядра Android располагается не Java-подобная система (как в родном Google Android), а прослойка на базе Microsoft .Net и C#. Новая разработка Xamarin получила название XobotOS и, как рассказали в компании, здесь применяется конверсионный инструмент Java-to-C# Sharpen. В Xamarin говорят, что сейчас они работают над дальнейшей оптимизацией Sharpen под Android.
В Xamarin говорят, что XobotOS интересна не только ввиду того, что в ней полностью вычищена Java, а соответственно снят вопрос с преследованием Oracle, но и потому, что может работать с большим количеством .Net-программ, делая это быстрее, чем с их Java-аналогами. Здесь используется разновидность виртуальной машины Mono, которая по своей организации более зрелая, чем система Google Dalvik. Кроме того, здесь есть некоторые системные улучшения, которых нет в Java, например, типы-дженерики, встраиваемые в библиотеку исполнения, а также более широкий список типов для описания кодов.
В Xamarin говорят, что пока XobotOS - это экспериментальный проект, который пока далек от практического использования. Кроме того, в Xamarin заявили, что их технология полностью открыта и компания хотела бы, чтобы продолжали работу над XobotOS независимые разработчики.
Более подробные данные о проекте доступны по адресу http://blog.xamarin.com/2012/05/01/android-in-c-sharp/