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)

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

Если с погруженной пяткой я живу. Или если только пятку нельзя погружать? Разница есть. Конечно танк не стал подводной лодкой, но танк с шноркелем таки форсирует реки.

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

Ты взял программу, которая лезет к нативному Win32 API в обход .NET/Mono и удивляешься, что она не работает в Linux. «Гениально.»(c)

Я взял первую попавшуюся! И там задача тупо резолвить DNS. Если в .NET без нативных вещей это нельзя, то что там вообще льзя?

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

Ничего что тема про мобильные устройства?

Ынтерпрайз покорен JavaEE и немного JavaSE. Это да. Но тут про другое, не правда ли?

А почему покорен? Можно просто поменять архитектуру не переписывая софт. А что мобильные устройства уже особенные? Неужели всем стало выгодно перекомпилировать ангри бёрдз?

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

Взрыв. мозга.

HTML5 - язык разметки. Так? Пишем страничку на нем, используя ECMA-262 edition 5 для написания скриптов (проще говоря JavaScript). Запускаем страничку в браузере из под WP7 либо в Chrome.

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

Ну вот это я и хотел услышать. Только от вас.

Про кроссплатформенность какой джавы вы говорите?

Та, которая J2ME? - Давайте запуcтим под win x86.

Может J2SE? - запустим под Android?...

Все таки про Dalvik(как в топике)?

В итоге видим неоднозначность слова Java в ваших устах.

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

.Net 2.0 метод System.Net.Dns.Resolve()

На всякий случай, а то вдруг: Mono давно умеет .NET 2.0

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

http://www.codenet.ru/webmast/java/J2ME-Emulators.php

Может J2SE? - запустим под Android?...

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

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

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

Нда. Это справедливо вообще для любой виртуальной машины: код написанный под genericVM, пойдем везде под genericVM без перекомпиляции.

P. S. и даже для CLR - виртуальной машины .NET

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

Под любую....

Раньше был WM. Заходим http://www.tomshardware.co.uk/forum/19148-21-arm2002-mips-xscale Видим сколько процессоров? Берем скажем программу навигации. И под IPAC бинарь один, под MIPS другой. Пейсатель ПО вынужден сделать столько бинарей сколько процов. Пейсатель разорился... Но у него покупатели купили 10000 копий софта. потом вышел loongson. Покупатель купил устройство с loongson MS сделал под него WM.... Сколько софта под этот loongson? 0 без палочки? Что делать покупателю? Тот кто решил выпускать новые устройства на loongson рискует? Да. Софта нет - кто будет покупать эту железку? Пусть она быстрее в пять раз и потребляет в 10 раз меньше энергии - эта железка будет в полном....

В случае с Андроид Пейсатель сделал 1 бинарь. Вышел loongson Гугл портировал на него Андроид и мы получили почти весь софт! Производитель оборудования может выбирать любой проц...

Я уже твержу это два дня...

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

Это вы спросите у вашего любимого Сбер Банка. Нафига в наше время делать не Web БК

Проблемы негров шерифа не волнуют.
У меня счета в нескольких банках и идиотов делающих клиенты на Java или .Net нету.

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

Это? Нифига это не документ.

Повторяю ещё раз, так как вам это необходимо:
Это бридический документ.
Называется публичная оферта.
http://ru.wikipedia.org/wiki/Оферта
Даже Столман не нашёл к чему придраться, кроме того что этого мало чтобы МС начали считать хорошеи и доброй.

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

Вы хвастались своим английским, так прочитайте что там написано и не пишите глупости.

Я представляю как ржали юристы составляя это Промис!

Юристы как раз писали, в том числе и на ЛОР что это легальный документ и не может быть отзван.

В отличие от Java которую даже в составе дистрибутивов запрещают расспространять.

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

Не работает. HelloWorld работает.

просто LOL
вы хоть сам с собой иногда советутесь а то похоже 2 организма пишут не зная что один другому говорит.
А то один говорит работает другой говорит не работает.
LOL

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

В случае с Андроид Пейсатель сделал 1 бинарь. Вышел loongson Гугл портировал на него Андроид и мы получили почти весь софт! Производитель оборудования может выбирать любой проц...

Как владелец китайского планшета с MIPS на борту ответственно заявляю: не идёт херова туча приложений, ибо, как минимум, где-то внутри указано, что оно для arm «и ниипёт», как максимум - куча приложений идут вкупе с либами только под arm. Даже долбанные птички идут только те, что поставил производитель. Да, я знаю по «мэджик код», но это костыль, так ещё и закрытый.

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

Это бридический документ.

Это публичная оферта, что тебя не будут дрючить за .NET Но тебя вполне могут дрючить за куски .NET

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

Тебе 2 дня твердят о том, что с clr ситуация абсолютна та же.

И я запускаю Hello World и он не пашет! Что такое? Странно да?

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

куча приложений идут вкупе с либами только под arm.

Как выясняется эта куча по сравнению с .NET просто песчинка в море....

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

Простой пример я взял и показал тут. Берем первое попавшеесь приложение с исходниками на .NET Беру без реестра, без доступа к СУБД... и в итоге не пашет под моно

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

главной особенностью Java и J2ME является то, что одна и таже игрушка пашет и на Samsung и на Nokia. У J2ME были затыки в размерах экрана и т.п.

То-то для установки какой-нибудь игрушки на J2ME нужно сначала найти в списке поддерживаемых моделей телефонов свою и скачать соответствующий файл. Супер-безгемморойная портабельность, да.

В итоге ангри бёдс пашут и на ARM и на x86.

А теперь идём на http://en.wikipedia.org/wiki/Angry_Birds, смотрим список поддерживаемых платформ и думаем: «А причём тут Java?»

В iOS, откуда пошла игра, никакой жабы нет и никогда не было, в Maemo, MeeGo, Symbian^3, PSP, Playstation 3, Windows Phone, [десктопном] Google Chrome присутствия Java также не наблюдается, Bada-вские приложения пишутся на C++, виндовая версия игры тоже баз жавы обходится. Даже при том, что в списке остались платформы, где теоретически может использоваться Java-версия игры, этот самый список как-то сильно поредел... А ведь почти все убранные системы работают совсем не на x86. Так в чём тут заслуга жабы?

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

Вы этим примером выставились идиотом и ничего не доказали.

У меня вот есть обратное утверждение с обоснованием. Вот библиотека, чистый C# если не использовать wrappers, компилируется и работает

https://github.com/mathnet/mathnet-numerics/

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

+1 Спасибо за солидный аргумент.

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

В iOS, откуда пошла игра, никакой жабы нет и никогда не было, в Maemo, MeeGo, Symbian^3, PSP, Playstation 3, Windows Phone, [десктопном] Google Chrome присутствия Java также не наблюдается, Bada-вские приложения пишутся на C++, виндовая версия игры тоже баз жавы обходится.

И это 1 бинарь? Про игры J2ME я сказал, что у них были проблемы с определением дисплея и поэтому их компилировали с ОДНИМ кодом, но разными ресурсами.

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

Я взял первую попавшуюся! И там задача тупо резолвить DNS. Если в .NET без нативных вещей это нельзя, то что там вообще льзя?

Что и требовалось доказать — ты таки не заглядывал в код программы, на основании которой кидаешься говном в дотнет. Там используются всего 2 нативные функции — одна издает указанный в параметре системный звук (причём автор даже не осилил выбрать соответствующее документации значение), вторая показывает окно сообщения. Первая из этих функций [в данной программе] нафиг не нужна, т.к. используется не по назначению и есть более нормальные способы отметить выполнение участков кода, для второй в дотнете есть обёртка, отлично работающая и в Mono.

Т.е. ты взял кусок говнокода, непереносимость которого обусловлена лишь криворукостью автора, и по нему судишь обо всём .NET-е. Круто, чо.

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

Т.е. ты взял кусок говнокода, непереносимость которого обусловлена лишь криворукостью автора, и по нему судишь обо всём .NET-е. Круто, чо.

С тем, же успехом я возьму Hello World на Java и он будет пахать и под windows и под Linux. ЧЯНТД?

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

И я запускаю Hello World и он не пашет! Что такое? Странно да?

Совсем нет.
То, что «demmsnt запускает Hello World и он не пашет!» это совершенно нормальное явление.
Так и должно быть!

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

То, что «demmsnt запускает Hello World и он не пашет!» это совершенно нормальное явление.

Так и должно быть!

Тоесть .NET гавно. Что и требовалось доказать. Ведь Hello World на Java я запускаю и он пашет. Тоесть даже такой идиот как я может использовать Java, а такие гении как вы не могут запускать и 10% программ написанных на .NET под Linux.

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

Так и должно быть!
Тоесть .NET гавно. Что и требовалось доказать.

Нет.
Это даказывает вашу криворукость.

Ведь Hello World на Java я запускаю и он пашет.

Враньё.
Не верю что есть ЯП на котором у вас что-то работает.
А тем более пашет.

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

ЧЯНТД?

Сравниваешь Hello World на Java, который не суётся за пределы жавовской стандартной библиотеки, и Hello World на C#, который преднамеренно и без всякой необходимости прибит автором к одной конкретной платформе.

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

Не верю что есть ЯП на котором у вас что-то работает.

Не удивлюсь, если он скажет, что Java позволяет его программе запускаться на бортовом компьютере звездолёта инопланетян из звёздной системы Альфа Центавра и выдавать нужный результат ещё до ввода исходных данных.

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

Не верю что есть ЯП на котором у вас что-то работает.

А тем более пашет.

ФондСервисБанк 4 года отправлял деньги через мое ПО. Хотите верьте, не хотите не верьте. Ваши проблемы

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

Сравниваешь Hello World на Java, который не суётся за пределы жавовской стандартной библиотеки, и Hello World на C#, который преднамеренно и без всякой необходимости прибит автором к одной конкретной платформе.

Я не специально искал это Hello World Я взял первый попавшийся!

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

Не удивлюсь, если он скажет, что Java позволяет его программе запускаться на бортовом компьютере звездолёта инопланетян из звёздной системы Альфа Центавра и выдавать нужный результат ещё до ввода исходных данных.

Я не пишу на Java - он мне не нравится

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

Я где, то сказал, что за .NET судили Tomtom?

А нафига мне информация что томтом за что-то судили в теме о дотнете?
За Java судят
за дотнет нет.

Вот и всё.

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

ФондСервисБанк 4 года отправлял деньги через мое ПО. Хотите верьте, не хотите не верьте. Ваши проблемы

Это вы его написали?

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

Это вы его написали?

Софт? Да я. Ребята писали на FoxPro, но центробанк в последний день поменял протокол. Я свой софт успел доработать и отдал им.

По поводу того, что не пишу на Java - я играюсь под Андроид с ним. Но тут не в ЯП дело. Дело в умной мысли, что софт под мобильные платформы не должен зависеть от железа и у андроида это получается. Я думал, что .NET сделан для того, же но в этом треде меня переубедили.

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

Какие-то криворукие делфятники или плюсатники вызвали API-функцию очевидно. Чистый дотнетовский код резольвинга DNS под моно работает.

anonymous
()

По теме - замечательно. Есть какая-то альтернатива говножабе

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

Слышь, убогое ламерье, ты задрал уже. Почитал бы хоть, что такое llvm, прежде чем мнение иметь. Таким как ты до права иметь и высказывать собственное мнение надо еще лет двадцать расти, так что заткни фонтан насовсем.

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

Сдается мне, чмо, что ты вообще школота. Уж больно ты туп.

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

Mono пзиционируется как замена .NET Вот пусть заменяет. У меня на работе 1000 и 1 софт написанный на .NET начиная от Банк Клиентов и заканчивая всякими бухгалтериями. Нафиг нужен МОНО если он ничего не может?

Нет, дебил. Mono позиционируется как легковесная, мощная и удобная VM. Ничего он заменять не должен. Исполнять говнокод, написанный под другую платформу, он не должен. Гуляй мимо, недоумок, постепенно разгоняясь в сторону стены.

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