LINUX.ORG.RU

XobotOS — порт Android на C#

 , , , , xobotos


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 ()
Последнее исправление: Silent (всего исправлений: 2)

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

iSlava ★
()

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

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

Kalashnikov ★★★
()
Ответ на: комментарий от 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 ★★★★
()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Deleted
()

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

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

ВНЕЗАПНО!

Даёшь С/С++!

anonymous
()

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

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

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

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

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

GAMer ★★★★★
()

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

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

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

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

demmsnt ★
()
Ответ на: комментарий от 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 ★
()
Ответ на: комментарий от mityash

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

Пруфы будут?

encyrtid ★★★★★
()
Ответ на: комментарий от 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
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.