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)

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

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

На перле же! Под EFL

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

Вот так и скажи. И уточни еще, что не ядерный модуль будешь писать, а скорее всего стопятисотый Angry birds.

Всё очень просто. Предположим мы нашли материал из которого легко шить любую одежду. Стоимость его в 1000 раз ниже чем у самой дешевой ткани. Он не горит. прочность на истирание в миллион раз выше чем у самых прочных тканей. 1 тонна на 1 нить прочность на разрыв. Но увы - он смертельно ядовит. Одно прикосновение и смерть в течении 1 миллисекунды.

Так и тут. Какой, бы нибыл C# - он труп. И вкладывать туда деньги это копать себе могилу.

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

Всё очень просто. Предположим мы нашли материал из которого легко шить любую одежду. Стоимость его в 1000 раз ниже чем у самой дешевой ткани. Он не горит. прочность на истирание в миллион раз выше чем у самых прочных тканей. 1 тонна на 1 нить прочность на разрыв. Но увы - он смертельно ядовит. Одно прикосновение и смерть в течении 1 миллисекунды.

Так и тут. Какой, бы нибыл C# - он труп. И вкладывать туда деньги это копать себе могилу.

А еще жить вредно - от этого все умирают.

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

ололо, таким напором срешь, аж завидно. === Поделка не нужна ни на жабе ни на С#, да хоть на говне собачем, пока на С++ не перепишут, андроид остается платформой для индусонеосиляторов, у которых руки из жопы растут, но у которых рот шыре задницы.

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

Не надо, таблицы в lua штука шикарная и очень мощная, при простоте реализации. И интерфейс с С офигенный.

Тут можно подробнее, что за таблицы?

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

Думаю, тут стоит сразу же уточнить, какие именно аналоги вы имеете в виду. :)

Любые наличные :) Трендовый HTML5, например. Но если угодно, можете считать высказывание общим. Уточню, это не значит, что аналоги будут вообще во всем лучше.

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

Андроидные одни. Там JAR файлы.

Которые даже между версиями самого андроида могу быть разными из-за версий API?

Нативные либы это 0.001% Их писать надо только в ОЧЕНЬ специфических случаях.

Ага. Т.е. тут 0.001%, а перед этим было про постоянные endianness'ы и выравнивания? Определись уже.

anonymous
()

XobotOS — порт Android на C#

Я не Ъ, по ссылке прошел, но понял мало. Судя по сабжу, они между Java/Dalvik и ядром хотят .NET поставить? JavaVM реализованная на .NET VM ? Или того хуже: вместо ядра .NET VM ?
Перепишите новость так что-бы было сразу понятно что они хотят именно Java/Dalvik заменить .NET а не всё остальное!

FeyFre ★★★★
()

Что-то уже не первый раз что-то написанное на java начинают переписывать на C#. Может, запасной аэродром на случай неуспеха суда oracle <-> google ?

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

Которые даже между версиями самого андроида могу быть разными из-за версий API?

Поддерживается совместимость сверху вниз.

Ага. Т.е. тут 0.001%, а перед этим было про постоянные endianness'ы и выравнивания? Определись уже.

Вы уважаемый перечитайте тред. Я гоорю, что ЕСЛИ ВСЁ писать на C то будет алес капут. А 0.0001% либ погоды не делают. Погоду делает 99% процентов софта, а в Андроид она на Java

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

Что толку строить запасной аэродром на болоте? Google выгодней свой язык начать и инфраструктуру сделать

demmsnt
()

Есть мнение, что каждое приложение под моно на устройстве будет выедать в среднем больше памяти. А объёмы оперативной памяти сказываются на энергопотреблении

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

Поддерживается совместимость сверху вниз.

Но это не отменяет потребности держать несколько версий .jar даже для одного железа, если хочется планомерно использовать новые плюшки, правда? А в результате все равно нужно определять, что там у конкретного юзера стоит, и отдавать ему оптимальную версию. И где разница.

Я гоорю, что ЕСЛИ ВСЁ писать на C то будет алес капут. А 0.0001% либ погоды не делают. Погоду делает 99% процентов софта, а в Андроид она на Java

Зачем всё, хватит и так, как в десктопных системах. Где можно спокойно жить без java вообще, и где сишного кода намного больше, чем 0,00...

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

Не драматично, современная память по тепловыделению в сравнении с процессорами просто ледяная. Конечно арм это не x86, но все равно - лишний гигабайт дешевле лишнего гигагерца.

Более того, насколько я понимаю большая энергия требуется в основном на переключение состояния запоминающих ячеек, а не на хранение как таковое (сразу говорю, схемотехнику я проходил почти 10 лет назад). На это наталкивает и то что современные смартфоны не спешат освобождать память, а кнопки «закрыть» в том же Андройде фактически нет.

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

Но это не отменяет потребности держать несколько версий .jar даже для одного железа, если хочется планомерно использовать новые плюшки, правда?

Кто, как. Я лично только под 2.0 пишу. 4.0 буду писать может года через два или если плюшка нужна. Но если нужна плюшка, то в 2.0 её просто нет. Поэтому версия 1.

Зачем всё, хватит и так, как в десктопных системах. Где можно спокойно жить без java вообще, и где сишного кода намного больше, чем 0,00...

Так. Назовите мне десктоп не на x86.

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

Конечно арм это не x86, но все равно - лишний гигабайт дешевле лишнего гигагерца.

Ага. Щас - там SoC.

а кнопки «закрыть» в том же Андройде фактически нет.

Её там нет потому, что её НИКТО не пользуется. В WM была, но нашли выход как жить БЕЗ нее.

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

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

Сплошной эмоциональный фон и поверхностный анализ несущественностей. И почему-то я не удивлен что вам нравится питон (вероятно потому что чувствуется ваша принадлежность к классу людей с низким уровнем профессионализма выбирающих питон/жабу/сишарп).

PS1: Ни один питонист на моей памяти никогда еще не касался вопросов архитектурного дизайна, техник оптимизации и [техник] минимизации потребления ресурсов системы. Но если учесть гуманитарный подход к решению задачи вкупе с главной целью разработки в виде бабла, то стратегия «индусского быдлкода», при поверхностном суждении, выглядит вполне оправданной.

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

Кто, как. Я лично только под 2.0 пишу. 4.0 буду писать может года через два или если плюшка нужна.

«Кто как» это универсальный ответ. Я о том, что система уже так и работает.

Так. Назовите мне десктоп не на x86.

ARM-сборки GNU/Linux чем не устраивают? Пусть с ними пока не так хорошо, как с x86, но тут имхо основная причина — разница в потребности, а не технические причины. И всё сказанное к ним, например, и относится.

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

Ага. Щас - там SoC.

И что это меняет? Сменить планку нельзя, но изначально конфигурировать никто же не мешает.

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

Кто, как. Я лично только под 2.0 пишу. 4.0 буду писать может года через два или если плюшка нужна.

Осиль, пожалуйста, что такое android:minSdkVersion, и android:targetSdkVersion и механизмы, которые позволяют в рантайме включать плюшки для четверки и отключать их для более старых версий ОС.

Вместе с SDK целая куча примеров идет. Например, обновленный «SampleSyncAdapter app».

А то, с такими мыслями, можно до сих пор под 1.5-1.6 писать.

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

И что это меняет? Сменить планку нельзя, но изначально конфигурировать никто же не мешает.

На заводе? Это как это скажем LG изначально сконфигурирует это на заводе квалкома?

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

Осиль, пожалуйста, что такое android:minSdkVersion, и android:targetSdkVersion и механизмы, которые позволяют в рантайме включать плюшки для четверки и отключать их для более старых версий ОС.

Зачем? Если плюшка не нужна я её не использую. Если нужна, то зачем её отключать? Это типа как человек без позвоночника.... типа в этой версии позвоночника нет - мы хородовые. А череп на веревочке...

demmsnt
()

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

преимуществ mono перед Dalvic в плане ресурсоемкости и энергопотребления то есть? А стоит ли вообще это делать, если Dalvic регистровый, что делает его эффективным именно в ресурсоемкости и энергопотреблении, или это не так?

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

потому что софтина, собранная с SDK Android 2.x смотрится очень инородно на ICS или Honeycomb.

Закладывать поддержку ICS нужно уже сейчас, пользуясь API ICS для лучшей интеграцией с системой.

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

Закладывать поддержку ICS нужно уже сейчас, пользуясь API ICS для лучшей интеграцией с системой.

Это частности. Я говорю что писать сейчас на C смысла нет.

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

Андроидные одни. Там JAR файлы.

Которые даже между версиями самого андроида могу быть разными из-за версий API?

Это редко нужно. Fragments или Action Bar к примеру. Для этого вам гугль дал compat-libs. Просто надо разобраться один раз.

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

Потому, что это не твой инструмент. Как только ты дом построишь, так сразу хозяин инструмента заберет его себе. Это бизнес детка. Оракл всем показывает это. МС никогда не отдадут ни кусочка рынка просто так.

Unlike Sun with Java, Microsoft submitted C# and the .NET VM for standardization to ECMA and saw those standards graduated all the way to ISO strong patent commitments.

Пока что за инструментом в виде явы к гуглу приходит Oracle

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

На заводе? Это как это скажем LG изначально сконфигурирует это на заводе квалкома?

Договором, как это все делают. А то звучит так, будто LG за готовыми бордами на рынок приходит, как я на базар за петрушкой. Причем под вечер, когда и выбор уже не особо.

anonymous
()

так а главный вопрос: будет ли оно работать на том зоопарке железа на котором работает андроид? а если оно будет работать на 5-10 моделях свежих мобил то чем оно лучше убунты мобайл?

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

Это редко нужно. Fragments или Action Bar к примеру. Для этого вам гугль дал compat-libs. Просто надо разобраться один раз.

Мне он, к счастью, не нужен. Дал — чудно, только почему-то одной из основных проблем андроида называют фрагментацию. Если бы все это использовали, этого не было бы. А раз не используют, имеем то, что имеем, практически такую же инфраструктуру, как и для rpm/deb в репах.

Фактическая совместимость андроида (по наличным приложениям) сильно переоценена.

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

А то звучит так, будто LG за готовыми бордами на рынок приходит, как я на базар за петрушкой.

Вот именно. Квалкомм смотрит на рынок и решает, что сейчас будут востребованы чипы с 1ГБ памяти. Делает пробную партию. Все их начинают покупать (от создателей микроволновок, до телефонов) И тут приходит LG и говорит - а вы мне вкорячте туда 2ГБ! Ты понимаешь как прайс изменится? Только для LG партия с 2ГБ....

Да телефоны золотые будут.

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

ак а главный вопрос: будет ли оно работать на том зоопарке железа на котором работает андроид?

Никак не будет. Даже 5 систем не наберется.

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

так а главный вопрос: будет ли оно работать на том зоопарке железа на котором работает андроид? а если оно будет работать на 5-10 моделях свежих мобил то чем оно лучше убунты мобайл?

На данном этапе они только проверяют свои идеи, улучшают конвертор, некоторые удачные вещи (типа UI мимо жавы) планируют портировать в MonoDroid. О промышленном использовании XobotOS пока речь не идет.

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

Дык с очевидным никто не спорит, но оно всё-таки более низкоуровнево по сравнению с питоном.

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

Ты понимаешь как прайс изменится? Только для LG партия с 2ГБ.... Да телефоны золотые будут.

Ну не надо. Кто сказал, что только? LG какая-то особенная?

Да если просто взять посмотреть на ассортимент смартов, у них конфигурации не одинаковые, при том, что везде может быть qualcomm.

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

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

Это всё проблемы жалких пропиетарных осей с пропиетарным софтом

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

тогда не понятно как они собираются конкурировать по «платформа для разработки мобильных приложений» с яблоком, андроидом и убунтой мобайл: одноклеточные, обычные пользователи и гики заняты. для кого же они позиционируют свою мобильную платформу? мб инопланетяне =)

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

тогда не понятно как они собираются конкурировать по «платформа для разработки мобильных приложений» с яблоком, андроидом и убунтой мобайл: одноклеточные, обычные пользователи и гики заняты. для кого же они позиционируют свою мобильную платформу? мб инопланетяне =)

Их платформа для разработки мобильных приложений это MonoTouch and MonoDroid, а XobotOS just for fun:

Our goal as a company is to provide the best platform for building mobile apps, and so XobotOS will not be a focus for us going forward. But it was a fun experiment to run, and as it turns out, a few technologies have come out of the effort that we’ll be able to include in future versions of our products

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

так а какая причина рождения этой платформы если она с самого начала проигрывает всем конкурентам? или это просто кто-то непомерно любит шарп? я любил в школе ИНТАЛ...

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

Зато айфоновые приложения можно просто перекомпилить.

Зачем? Оно LLVM. Оно не нативное под проц. Загрузчик исполняет это.

Кто тебе это сказал? Оно собирается clang (который и правда с llvm) в полностью нативный arm бинарник. Причем в универсальный, с armv6 и armv7.

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

Я сам для себя выводы что такое линукс сделал давно

И таких пионеров здесь уже не меньше 100тыс зарегистрировавшихся.

Так что ЛОР пока все еще торт (в плане тупых срачей, мегатонн непонимания и т.п.).

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

Возможно, JIT не успевал прогреться

Все мы знаем что бывает, когда JIT таки прогревается. Вспомним бедного Томми.

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

--- начало цитаты ---

Окончательным и бесповоротным, необратимым, клиническим мудаком, на мой взгляд, является тот, кто подвергает чужой образ жизни прямой и навязчивой критике («ну как можно жить в такой жопе», «займись делом вместо того, чтобы страдать фигней», «слушай, ну когда ты уже родишь (первого/второго/третьего)?», «ну что значит „не хочу?“ давай, давай выжрем!»)

--- конец цитаты ---

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

ога. все бы так но одна неувязочка: это справедливо если то что делает чувак тебя не касается

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

Отсутствие возможности легко закрыть приложение жутко бесит в андроиде. Постоянно матюкаюсь из-за того, что приходится лезть в дебри настроек, чтобы просто убить приложеньку. Хочется убивать.

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

у них конфигурации не одинаковые, при том, что везде может быть qualcomm.

У BMW x5 и 7-ки тоже конфигурации разные, но обе BMW.

На данный момент выпускается ну пусть 10 SoC и все телефоны идут или так или эдак.

А Квалкомм например сидит и думает, что захотят завтра и сколько это будет стоить и раз выпустит новый SoC но с 5 гигами памяти - если это востребовано по их прогнозам. Но просто SoC используют и в телевизорах и в ADSL модемах и еще где. Смартфоны это процентов 20 наверное...

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

Это всё проблемы жалких пропиетарных осей с пропиетарным софтом

Пока это наши проблемы. Это жизнь. Когда 80% железа будет со спеками это уже будет лучше. НО! Даже при 100% открытых системах не всегда программист захочет писать софт с оптимизацией под новую железку. Почему Java на предприятиях так пошла? Захотел сменил железку, а софт на новой пашет....

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

или это просто кто-то непомерно любит шарп?

Нет кто, то (не будем тыкать пальцем в Мигеля) хочет получать деньги. Хочет вкусно кушать. Сделать для людей чтонибудь полезное он не может. Зато может подгадить. Ему за это платят. Еслиб МОНО небыло, то многие программисты задумались учить им C#. Писать на нем? А так в теории их софт может пахать и на win и на Lin. В теории. А на практике WinForms нет, еще хрен знает чего нет.... Как в том анекдоте - теоретически у нас тут 3 миллионера, а практически 3 б%:ди....

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

Кто тебе это сказал? Оно собирается clang (который и правда с llvm) в полностью нативный arm бинарник. Причем в универсальный, с armv6 и armv7.

Тоесть берем Py2EXE - это экзешник + архив с исходником. Если мы хотим сменить ОС кто нам мешает оторвать экзешник и прилепить другой?

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