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

Но подозреваю, что реализация от MS на порядок выше быстродействие имеет.

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

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

Чем вам эти ценности так симпатичны? Они же лживые. Люди на Западе, как фарисей, даже себе правды не говорят. Насаждают ценности, пропагандирующие свободу для всякого мусора, и ополчающиеся на нормальных людей. Говорят, что помогут странам третьего мира, и всаживают нож в спину. Благодаря «помощи» МВФ моя страна стала одной из самых бедных стран на Европейском континенте. И Россию ожидает та же участь, если народ поведётся на эти «ценности».

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

Так вы предлагаете писать логику на C# и GUI на плюсах?

Плюсы это тем более из пушки по воробьям. Tcl/Tk в 99% случаев более чем достаточно.

Но лучше на Python GUI сразу писать, очень годный ЯП. Простой и ёмкий.

Ну да, Питон тоже отлично подходит.

VM от Mono и VM от MS работают по одному принципу.

Не совсем. Mono проще встраивается. В Mono есть llvm-backend (а это сразу дает огромное количество интересных возможностей, которых никогда не будет в .NET). В Mono есть SIMD (а в .NET никогда не будет). Ну и главное - в Mono всегда можно все лишнее отрубить, получив очень легковесную VM (даже без mscorlib). В .NET такое не пройдет. Так что область применения Mono намного шире чем у оригинального .NET. А сейчас, когда sgen дописали, и производительность догнала. Раньше все проблемы с производительностью Mono были с GC связаны исключительно, а кодогенерация у MS всегда была хуже и кривее, даже если с mini сравнивать.

на порядок выше

В десять раз, то есть? Ну ну. Смешной какой.

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

Западные ценность - это пожрать, посрать, потрахаться, нагрести бабла? Спасибо, не надо нам такого счастья.

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

Вот пруф. Тесты не всеобъемлющие, но всё же хоть какие-то. И Mono сливает. Чем вы это объясните? Убогими познаниями команды Мигеля в сфере VM? Или слабым финансированием? Я запускал одно и то-же приложение на WinForms в Linux под Mono и в Windows 7, разница в скорости запуска и работы заметна даже на глаз. .NET от MS рулит.

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

Вот и я про то-же... Это не ценности, это деградация.

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

Я же сказал - вся разница из-за GC. Это не существенно, и перевешивается многочисленными преимуществами Mono. Тем более что теперь этой разницы уже нет.

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

Про llvm-backend и встраиваемость не знал. Интересные плюшки. Такого и в Java тоже нет. Мне не приходилось использовать Mono. Только ради keepass его и держу. А так, если что нужно(обычно с WPF) использую .NET из семёрки.

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

Это положительный момент. А WPF когда-нибудь будет? Если появится, я даже сражусь со своей природной ленью, и начну штудировать Mono.

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

Там много чего интересного есть, чего в .NET не предвидится. И mkbundle, и полностью managed компилятор шарпа, и очень гибкий AOT (на котором и построены всякие там MonoTouch), полностью отрываемый от рантайма.

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

Насколько мне известно, WPF никому не интересен и никто его в данный момент не пилит (дальше чем нужно было для Moonlight).

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

Ну, иногда и в маленьких тоже. Я для своих нужд написал приложение для редактирования данных, и консольную тулзу для обработки и вывода в PDF этих данных. Иногда такое разделение очень удобно.

lucentcode ★★★★★
()

12 страниц флуда

для мини-новости? ОХ, ЧЁ...

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

А может, длиннее?

скорость в сотни раз больше,

Эт какая скорость в сотни раз больше? И когда?
Разработки? Не смеши народ.
Вычислений? Не смеши народ 2: клоуны возвращаются.
Возврата инвестиций? Не смеши народ 3: клоуны и торт.

И чего уж сразу миллиардными коэффициентами не пощеголяешь?

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

Мне завтра другую поискать? Хотите тест? Я найду 5 программ и мы поглядим. Вы тоже участвуйте.

Поучаствовал: http://imageshack.us/photo/my-images/822/screenshot2012050400233.png/

Все 6 программ с того набора, который был у тебя «первым попавшимся». Программа для тыков в реестр, разумеется, совсем уж бесполезна ввиду отсутствия этого самого реестра, остальные же 5 вполне себе шевелятся. А ведь надо-то было всего-лишь потратить несколько секунд на поиск описания дотнетовской функции вывода сообщения (я на C# пишу чуть чаще, чем никогда, поэтому по памяти не осилил) и по ~1 минуте на очистку кода каждой программы от нафиг ненужных в таких Hello World-ах виндоспецифичных вещей типа извергания «бипов» из колонок для индикации выполнения некоего куска кода и т.п..

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

LLVM ни разу не VM, это только слой промежуточной компиляции требуемый для облегчения единообразной трансформации кода, многих языков. IR LLVM архитектурно зависим, в то время как Java и .Net/Mono выдают платформонезависимый код.

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

Это сильно большой проект, и если сообщество, которому это нужно скинется, то сделают. Мигель говорил про работу 15 - 20 человек в течении 2-3 лет.

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

Beep можно и вполне .Net функцией получить, а не тягать вызовы к WinApi SystemSounds.Beep.Play();

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

На планшете zte 2.1 и там не штатная, на телефоне 2.3 cyanogen и там тоже этого нет, но настройка долго нажатия в телефоне есть.

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

Я пытался это втолковать одному фану LLVM и яблочной продукции, так мне просто не поверили. Для многих все VM - сразу ассоциируются с клонами Qemu или потомками VM из мира Smalltalk. А про слой абстракций(подобный есть и в GCC) для компилятора люди даже не слышали.

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

Совершенно верно. Вот только это не платформонезависимый JIT, а нечто похожее на промежуточный код компилятора GCC. Вроде почти платформонезависимо, но для будущих оптимизаций этот код несёт в себе размеры примитивов(int,long и т.п.) конкретной целевой архитектуры. И данный код свободно работает на одной и той же VM от LLVM на одной процессорной архитектуре в разных ОС, но не работает на разных архитектурах. JIT Smalltalk, Java, Mono и Oberon в данном случае более универсален. Он работает независимо от архитектуры. Скомпилированная однажды, программа (теоритически) работает везде.

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

Это не ко мне, это вы скажите тому человеку на реплику, которого я отвечал.

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

Процитирую ваш тест

По сумме результатов .Net лидирует во всех группах микротестов, а также по потреблению памяти. В 4 из 5 группах Mono превосходит Java по скорости, но потребляя при этом почти в два раза (!) больше памяти.

Что в этом плохого?
По моему неплохо для платформы, развитием которой занимается небольшой стартап.

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

Западные ценность - это пожрать, посрать, потрахаться, нагрести бабла?

Нет
Свобода и уважение к правм индивида.
Уважение частной собственности.
Уважение труда.

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

Чем вам эти ценности так симпатичны?

Они меня устраивают больше чем восточные или российская мечта о попиле откате.

Они же лживые. Люди на Западе, как фарисей, даже себе правды не говорят.

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

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

это пожрать, посрать, потрахаться, нагрести бабла? Спасибо, не надо нам такого счастья.

Ты постоянно постишься, в туалет не ходишь, живешь в монастыре, ходишь в рубище работая за бесплатно?

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

Не поверишь, это и GCC умеет (см. LTO).

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

Свобода и уважение к правм индивида.

Читать - показушный прогиб перед интересами всяких меньшинств. И чем меньшинство чмошнее, тем больше шума и показухи.

Уважение частной собственности.

И чем ее больше, тем больше уважения, ага.

Уважение труда.

Ну да, эксплуатировать надо с «уважением», чтоб эксплуатируемые в своих профсоюзах не слишком бузили.

anonymous
()

Странные люди вы

Действительно, странные вы. Как те, что с пеной у рта доказывают, что ява лучше си шарпа, так и другие. Многие вообще не видят разницы между языком программирования и виртуальной машиной, которая исполняет промежуточный код. Меряетесь письками «зато у нас ява код работает на любой платформе!», «а у нас код быстрее выполняется в VM!». И почти у всех подход как у емели-с-печи: «хочу, шоб один раз пернул, а цунами по всему миру!». Вот говорите, ява переносим. Так я вам скажу - все равно, если вы хотите, чтобы программа работала максимально производительно, подшаманить придется, хоть в настройках хоть еще где. А си шарп в частности и Net в общем вообще идеологически оставляет далеко позади себя яву (на заметку - QML идеологически практически идентичен силверлайту, его принцип разметки, о чем-то это да говорит). Для меня как программиста в первую очередь важно, чтобы язык программирования был синхронен моему мышлению. Ведь, когда я пишу - я пишу произведение искусства, пусть кроме меня никто его и не оценит. Поэтому мне важно, чтобы присать в нем было приятно, как думать, говорить и как дышать. Пусть это будет ява, си шарп, ф-шарп, питон - по сути не важно. Люди все разные и каждому найдется по его мозгам средство выражения. Пусть NET, например мою крутую прогу на WPF или Silverlite'е нельзя чисто перенести на линукс, но я лучше сделаю ее идеальной под одной платформой. Зато, если надо, я лучше выучу родные средства разработки для той платформы, в которую желаю перенести прогу. Да, это сложно, но мне как программисту важно не стоять на месте, надо все время развиваться. Если ты остановился - ты умер как программист. Не работает силвер-прога под линуксом? Я не буду сразу делать ее на других веб-фреймворках, если я спец в силвере. Я сделаю на силвере да так, что «ах», а потом на основе уже отработанной идеи, программно-логической архитектуры, нарисую ее на веб-фреймворке (если надо). Хорошо знаю html5? Тогда могу сразу на нем написать. Еще лучше. Надо перенести мою WPF прогу на линукс? Не проблема, лучше параллельно выучу питон с QT бандингами или перенесу часть кода на моно, но это не так интересно - профит от своего развития небольшой. Да, вы можете сказать, что, мол, у вас нет времени изучать новое - надо зарабатывать. Но не забывайте одну простую вещь - всех денег не заработаешь, а свои мозги усушить можно влегкую. Вы скажете, что лучше быть высококлассным спецом в одном, чем по чуть-чуть, но везде? Не соглашусь. Просто ИТ в целом и технологии разработок настолько динамично развиваются, что остановиться на одном и не видеть преимуществ других - верный путь к смерти. К смерти программиста.

Искренне ваш, пока еще живой программист. :-)

anonymous
()
Ответ на: Странные люди вы от anonymous

Возможно, делать навесные штучки для М16 прикольнее, чем для калашей, но с помощью первых Вас на войне будут убивать с большей вероятностью, чем с помощью вторых.

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

Западные ценность - это пожрать, посрать, потрахаться, нагрести бабла?

Нет Свобода и уважение к правм индивида. Уважение частной собственности. Уважение труда.

«Интеллектуальная собственность» — это крайняя степень неуважения к частной собственности. Так Вы какие «западные ценности» имеете в виду — лютеранские или тоталитарные англосаксонские (вспомним, кто разработал Гитлеру идеологию)?

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

Канадцев не встречал... А вот про европейцев и американцев даже говорить не хочу. Они нас учить любят, а сами намного хуже.

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

Я писал на Python с использованием обыкновенного Cairo. Крайне муторный метод, но кросс-платформенный. Имел дело немного с iText под Java, есть версия библиотеки для C#. Замечательная либа, думаю на ней все переписать. И возможно, на C#. В рамках изучения нового ЯП, так сказать... Одна печаль, если приложение пишете проприетарное, нужна коммерческая лицензия, в противном случае можно использовать под лицензией AGPL(ненавижу эту хитрую лицензию).

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

Европейцы разные бывают, не надо. Те же французы - нормальные пацаны. И давно уже хотят ЕС, капитализм и «западные ценности» послать в сраку.

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

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

Канадцев не встречал... А вот про европейцев и американцев даже говорить не хочу. Они нас учить любят, а сами намного хуже.

Встречать и общаться несколько лет ежедневно - очень большая разница.
В Шнатах люди очнь сильно отличаются по штатам.

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

Не в курсе, не интересовался. Мне нравятся старые книги про южан, это были отличные европейцы(по духу, не географическому положению). Северяне(янки) мне не нравятся, особенно бесит их пуританство и чванливость. Думают, что они самые умные. Ну, история всё на свои места расставит.

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

Французы, несомненно. Англичане - 50 на 50. А вот как раз многие братья славяне и немцы(и пяток стран по соседству) - американские подстилки. Хуже чем их заокеанские боссы. Противно наблюдать, как они стараются выслужится перед дядей Сэмом.

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

Согласен. Но не находите ли вы немного избыточным установку latex и кучи шрифтов и прочей чепухи лишь для того, что-бы маленькая программа напечатала пару форм? Размер и монструозность части отвечающей за создание PDF очень уж велики будут. Проще использовать cairo/iText. Хоть и слишком низкоуровневый метод, но зато программа останется маленькой.

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