LINUX.ORG.RU

XobotOS — порт Android на C#

 , , , ,


0

3

XobotOS — проект компании Xamarin, целью которого является портирование Android с Java/Dalvik на C# для исследования преимуществ C# в отношении производительности, ресурсоёмкости и энергопотребления, а также для обеспечения перспективной платформой для создания мобильных приложений как для Android, так и для Apple iOS и Windows Phone.

Работа была начата в 2011 году с Android 2.x, на данный момент большая часть (более миллиона строк кода) XobotOS переписана на C# с Android 4.0. В настоящее время прямой доступ к графическому движку Skia, используемым Android, осуществляется через библиотеки Java, которые впоследствии тоже должны быть замещены Mono.

По заявлению разработчиков, в результате портирования XobotOS показывает гораздо более высокую производительность и более низкое энергопотребление по сравнению с Android.

Xamarin не собирается поддерживать эту ОС в будущем для промышленного использования — «Наша цель создать платформу для разработки мобильных приложений и в будущем сама XobotOS не будет являться нашей основной целью».

>>> XobotOS на GitHub

>>> Подробности

★★★★★

Проверено: DoctorSinus ()

Ну вот, а говорили что моно не нуно.
Годная новость, я с радостью у себя на гнусмасе посмотрел бы это творение.

iSlava ()

Если это не доказывает ущербность явы, тогда что?

Хотя надо ещё посмотреть что за тесты там, по микрософтовским тестам тоже осёл впереди планеты всей.

Kalashnikov ★★★ ()

Android, Apple iOS, Windows Phone.

Русская информация об ОС Linux

loz ★★★★★ ()
Ответ на: комментарий от Kalashnikov

Тесты вроде бы нормальные (очень простые, на самом деле). Возможно, JIT не успевал прогреться (а на 2.0 он вообще выключен по умолчанию).

note173 ★★★★★ ()
Ответ на: комментарий от note173

Там в C# используются структуры (на стеке и в массиве) вместо объектов в Java. Также в Java версии используется HashMap с объектами против специализированного под int generic типа Dictionary в C#.

kamre ★★★ ()
Ответ на: комментарий от kamre

Да что тут говорить. Всем и так ясно, что этот C# - игрушка для подростков и не более. Учитывая как работает их CLR, который при первом обращении к участку кода на IL, компилирует его в нативный код, то можно не удивляться полученным результатам.

anonymous ()
Ответ на: комментарий от kamre

Мне казалось, что dalvik умеет выделять короткоживущие объекты на стеке. А hashmap не заметил, да.

note173 ★★★★★ ()

Интересные ребята, но если бы портировали на тот же езыг без шарпа, было бы лучче.

Klogg ()

Нда, если бы было Lua и LuaJIT, тогда было бы нужно. А так засуньте свой хобот... куда-нибудь...

AiFiLTr0 ★★★★★ ()

Я ни разу не программист, я сисадмин.
Лично моё мнение: если переписать Андроид с Java на Java, применив все возможные оптимизации и заменив в необходимых местах Java на бинарный код - всё сложится совершенно иначе.
Славу дерьма Java обеспечили «быдлокодеры», ориентированные на «зарабатывание», не на «создание хороших продуктов», а на «производство продуктов жизнедеятельности».
Впрочем, всегда говорил, и повторюсь: «Java должен умереть!»

Pronin ★★★★ ()

Неужели никому в голову не приходила мысль написать андроид на питоне?

Kevin_Detry ()
Ответ на: комментарий от Kevin_Detry

Лучше пусть жаба, чем этот с позволения сказать «язык».

AiFiLTr0 ★★★★★ ()
Ответ на: комментарий от AiFiLTr0

Питон использовать было бы логичнее, т.к. он значительно легче в изучении. Достаточно вспомнить тонны годного софта на питоне под Symbian 9.

Kevin_Detry ()
Ответ на: комментарий от Kevin_Detry

Легче в изучении lua. Им даже школьники игрушки скрпиптуют. Питон, сколько я его не щупал - сборище крайне негодных решений. Если опустить сам синтаксис языка, за который хочется убить (привет отступы), то питонопроблемы типа бардака в stdlib, тормознутого трединга, (в Stackless он получше, но всеже) это писец. Библиотек и биндингов для него куча, но документированы они крайне хренво. В общем и целом, после того, как пришлось написать на нем несколько утилит, он в моем рейтинге ЯП упал ниже C#.

AiFiLTr0 ★★★★★ ()
Ответ на: комментарий от Kevin_Detry

Питон использовать было бы логичнее, т.к. он значительно легче в изучении. Достаточно вспомнить тонны годного софта на питоне под Symbian 9.

Это да. Но ядро писать на питоне это надо много памяти и куча нерешенных проблем (треды, jit, ...).

ien ()
Ответ на: комментарий от AiFiLTr0

он в моем рейтинге ЯП упал ниже C#.

Прошу огласить весь список или хотя бы топ! Желаю знать язык с самым быстрым тредингом и самыми документироваными библиотеками и биндингами.

ien ()
Ответ на: комментарий от kamre

Там в C# используются структуры (на стеке и в массиве) вместо объектов в Java. Также в Java версии используется HashMap с объектами против специализированного под int generic типа Dictionary в C#.

Т.е. если переписать на java с учетом этих ограничений C# версии, то отрыва не будет?

Отразиться ли отличие в реализации шаблонов на скорости выполнения?

ien ()
Ответ на: комментарий от AiFiLTr0

Мне питон как раз и нравится за великолепную документацию, огромное сообщество, саму простоту языка и приятный синтаксис (если к сишным {} я отношусь спокойно, то за begin/end хочется убивать).

Kevin_Detry ()
Ответ на: комментарий от Ramen

Посмотрите на тонны злама в Google Play и убедитесь, что хуже уже всё равно некуда.

Kevin_Detry ()

из двух зол меньшее

Java большее говно чем C#

ВНЕЗАПНО!

Даёшь С/С++!

anonymous ()

графическому движку Skia

Да там все на брейнфаке можно переписать, внешний вид кода не изменится.

buddhist ★★★★★ ()
Ответ на: комментарий от AiFiLTr0

Им даже школьники игрушки скрпиптуют.

Ага, а те, кто уже натрахался с таблицами в луа, идут к boost::python несмотря на.

GAMer ★★★★★ ()

Годная новость, предчувствую сотни баттхерта от мононенавистников.

encyrtid ★★★★★ ()
Ответ на: комментарий от iSlava

А потом МС выкатит прайс.... SUN обещал, что Java будет свободная и то Ракель просит. А МС от денег никогда не отказывался.

Хотя я сомневаюсь, что вообще чтонибудь у хобота выйдет.

demmsnt ()

порт ненужно с ненужно на ненужно, удачи

marvin_yorke ★★★ ()
Ответ на: комментарий от AiFiLTr0

Библиотек и биндингов для него куча, но документированы они крайне хренво.

Вы в каком, то не том мире живете. Всё отлично документированно. Я еще не видел языка с лучшей поддержкой.

demmsnt ()

Я всегда поражался на что люди тратят свое время, смотрят сериалы, играют в WOW, переписывают годноту на сишарпе ....

s9gf4ult ★★ ()
Ответ на: комментарий от ien

Это да. Но ядро писать на питоне это надо много памяти и куча нерешенных проблем (треды, jit, ...).

Пайтон не предназначен для написания ОС. Верхний слой - да. Нижний не надо. В принципе можно с помощью PyPi кодогенератор написать, но не более того. Не надо из кофемолки делать вертолет, она хорошо молет кофе, но не более того.

demmsnt ()
Ответ на: комментарий от s9gf4ult

Так этот Ксамарин это кажется бывший Ксимиан - это детище Мигеля. Ему надо привлечь для моно инвесторов. Что ему еще делать?

demmsnt ()

шарписты... никогда они не найдут достойной ниши. на десктопе топорно работает шарп. на мобиле будет еще хуже.

bernd ★★★★ ()
Ответ на: комментарий от bernd

лучше бы на С++ переписали. работало бы в стопицот раз лучше :)

bernd ★★★★ ()

Hotspot вместо Dalvik

Интересно было бы посмотреть на производительность андроида, если бы вместо dalvik использовалась hotspot vm.

BlackV ()
Ответ на: комментарий от demmsnt

надо много памяти

PyPi

О чем и речь. PyPy прожорлив.

Однако тут не совсем о переписывании ядра разговор. Далвик, он поверх линукса. Сходным образом можно гипотетический вменяемый джит для питона использовать. Но такими темпами там скорее всего окажется js с v8.

ien ()

XobotOS показывает гораздо более высокую производительность и более низкое энергопотребление по сравнению с Android

Конечно это все круто, но в широкие массы не пойдет же ... Из-за этого мертворожденный проект.

renya ★★★★★ ()
Ответ на: комментарий от renya

Похоже кто-то проплатил меряние письками. Бабла они с проекта не срубят, так что странно ОС переписывать на Си-решетка.
Вообще этот С# очень печальный язык...большинство софта пишется на нем (ибо оффтоп популярен) и у него огромные проблемы с оптимизацией(.net наверное)..хотя может быть все от программистов зависит :)

mityash ()

C# не нужен

Да на Си его портировать бы!

shybovycha ()
Ответ на: комментарий от mityash

большинство софта пишется на нем (ибо оффтоп популярен) и у него огромные проблемы с оптимизацией(.net наверное)

Пруфы будут?

encyrtid ★★★★★ ()

Лучше бы на C, а то меняют шило на мыло

derlafff ★★★★★ ()
Ответ на: комментарий от derlafff

Ты представляешь себе муки программеров, которым придётся ВСЕ проги и игры на андроиде переписывать под этот, с позволения сказать, «современный» язык программирования?!

anonymous ()
Ответ на: комментарий от derlafff

Лучше бы на C, а то меняют шило на мыло

Ну что за бред! С какой это стати лучше на C? 20 лет шли к Java и тут решили C. Неужели не ясно, что Андроид, а самое важное софт под него работает на самых разных процессорах. Как ты это на C сделаешь? Бинарь с кодом для всех процов? Уже в WM это было когда куча процов и софт надо искать.

MS не зря .NET пилит. Яблоко LLVM. Гугл Java, точнее давлюк. Никто не хочет писать копии софта... Даже Бада и та с слоем абстракции.

demmsnt ()
Ответ на: комментарий от encyrtid

большинство софта пишется на нем (ибо оффтоп популярен) и у него огромные проблемы с оптимизацией(.net наверное)

Пруфы будут?

хм. поставь винду чтоли...

mityash ()
Ответ на: комментарий от demmsnt

Бинарь с кодом для всех процов?

С возвращением из холодного бокса. В ондроеде давным-давно уже так. В приложениях с нативными либами (большинство вменяемого софта) обычно идут сошки для armv6 и armv7. А если «повезет» - то еще для x86 и MIPS.

anonymous ()
Ответ на: комментарий от mityash

большинство софта пишется на нем (ибо оффтоп популярен) и у него огромные проблемы с оптимизацией(.net наверное)

Пруфы будут?

хм. поставь винду чтоли...

Значит пруфов нет, так и запишем.

encyrtid ★★★★★ ()
Ответ на: комментарий от demmsnt

MS не зря .NET пилит. Яблоко LLVM.

Mono-вский JIT умеет использовать LLVM.

kekekeks ()
Ответ на: комментарий от anonymous

Ты представляешь себе муки программеров, которым придётся ВСЕ проги и игры на андроиде переписывать под этот, с позволения сказать, «современный» язык программирования?!

Mono умеет запускать явовские jar-ки через IKVM. Ява давно стала всего лишь подмножеством языков, запускаемых в CLR, смиритесь уже.

kekekeks ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.