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)

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

Изначально, биндинги к либам на каком языке написанными интересовали? Я напомню фразу на которую отвечал:

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

Ой, условия менять приходится? Ну раз по-другому никак, то спасибо за ответ.

После защиты слива переходим к пунктам.

1) Линукс написан на С и работает на всем перечисленном и даже много больше.

2) Казуальный софт через год становится не актуальным (да, Generation П welcome). Это то что вообще не требует портирования, а пишется велосипедостроителями. Не потому что его нет, а потому что его не сложно написать, по определению.

3) Сменилось железо и все поклонники жабы/моны/шарпея/etc курят бамбук в ожидании появления бородатых дядек сваявших деткам новую удобную песочницу с их любимыми аттракционами.

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

Мне нужен УЖЕ НАПИСАНЫЙ СОФТ и чтоб я его запустил без переписывания. С java это возможно.

Расскажите, как запускать Java приложения под iOS
А то я уже 15 лет на Java программирую и так и не смог этого сделать.

С Python я так делаю постоянно.

Ну и расскажите как пы писали программы для iOS на питоне, пожалуйста.

Мне не нужен MONO.

И зря.
Так оно работает под iOS

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

Это 10% которые не работают. Как и PDP11

Т.е. не работает
и iOS это совсем не 10%


И что? Мне не нужен МОНО мне нужны Банк клиенты или Паинт нет или МС оффис! МОНО? Не - не слышал!

А мне не нужно.
Вам нужно вы и ищите что ко мне пристаёте?

Кстати, нахрена банку клиент на моно, если он у меня в любом браухере работает?

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

Так надо делать это, а не писать на .NET А тут мигель опять развел старые песни. .NET зло и не надо играть с ним.

Аргументы помимо фанатичных выкриков будут, или как?

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

Почему я должен этому верить?

Потому что это юридический документ.
Интересно сколько вам должны это повторить, чтобы до вас дошло?

Интересно, ещё трёх лет хватит?

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

Костыль, конечно, но работает. Через год эппл наверняка откажутся от поддержки 3gs полностью и останется только armv7.

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

Это если он установлен

Таскмэнэджер это встроенная функция андроида. А вызов его по долгому тапу на «хоум» — штатная функция.

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

На дворе 2012-й год, когда они лямбды введут, в других языках уже ИИ будет введен.

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

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

это не мои заботы, а тех кто тот форк создаст =)

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

Это не тот тред, где одному клоуну предложили решить задачу сортировки списка для того чтобы показать преимущество лямбд, так он предложил загнать список в БД и так отсортировать?

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

годноту

Буква «в» на клавиатуре немного левее «д».

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

Не помню
Я до конца не часто тред выдерживаю.
Только если скучно и делать нечего :)

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

Лучшая обратная совместимость — второе имя java.

А так C#, конечно, прогрессивнее, и виртуальная машина у них намного больше всего умеет, оптимизации прозрачнее и все такое.

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

Чет вы англицкий забыли NDK этонабор ЛИБ и не под Андроид, а под Linux для взаимодействия с андроид.

LOL
Давайте анлийским будем мериться!
Для начала постарайтесь понять значение первой-же строчки по ссылке NDK:
The Android NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code. It provides headers and libraries that allow you to build activities, handle user input, use hardware sensors, access application resources, and more, when programming in C or C++.
Обратите внимание на последнюю фразу.
Гуглу, я надеюсь вы доверяете?

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

Да. нужны. Это нормальное требование.

Самое ближайшее - где вы пишете что C# не работает под линукс XobotOS — порт Android на C# (комментарий) Несмотря на то, что знаете, что моно и С# работают под линукс.
Иначе как бредом это назвать трудно.

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

Ущербен?

Кому нужны сферические тесты в вакууме? На реальных проектах пока нет тестов и сравнивать нечего. С таким же успехом можно сказать что PyPy наше всё и CPython не нужен, но почему-то все поголовно не бегут на PyPy только потому что у него тесты лучше. Почему?

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

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

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

для поддержания разговора предлагаю написать Мигелю письмо с просьбой переписать Андроид на Хаскеле. Илита будет в восторге.

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

и наконец-то можно будет написать годную саксесс стори на домашней странице Хаскеля.

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

андроид в целом не нужен, независимо от того, на чем он написан

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

Кстати, нахрена банку клиент на моно, если он у меня в любом браухере работает?

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

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

Таскмэнэджер это встроенная функция андроида. А вызов его по долгому тапу на «хоум» — штатная функция.

Это для переключения задач. Там чтоб убить надо на задаче долго держать?

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

Потому что это юридический документ.

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

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

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

Самое ближайшее - где вы пишете что C# не работает под линукс

Не работает. HelloWorld работает. А как только там какойнибудь WindowsForms так сразу пшик.

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

для поддержания разговора предлагаю написать Мигелю письмо с просьбой переписать Андроид на Хаскеле.

А что толку. MS Мигелю платит за C#, а кто девушку ужинает - тот её и танцует.

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

странно, что никто пока не вспомнил про Хаскель или CL.

Я предлагал хаскель и CL. Всё лучше чем C#

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

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

Самое ближайшее - где вы пишете что C# не работает под линукс

Берем http://www.codeguru.com/csharp/csharp/cs_misc/sampleprograms/article.php/c426... Собираем

Запускаем .. Пашет? Пока да. Жмем кнопку - получаем вот такое:

dem@dembox:~/temp/monotest/CSDNS/bin/Debug$ ./CSDNS.exe

(cli:24776): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «pixmap»,

(cli:24776): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «pixmap»,

(cli:24776): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «pixmap»,

(cli:24776): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «pixmap», System.EntryPointNotFoundException: MessageBeep at (wrapper managed-to-native) CSDNS.Form1:MessageBeep (int) at CSDNS.Form1.ResolveButtonClick (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.OnClick (System.EventArgs e) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Button.OnClick (System.EventArgs e) [0x00000] in <filename unknown>:0 at System.Windows.Forms.ButtonBase.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0

Приплыли. На программе уровня Hello World. Если это работает, то я Папа Римский.

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

Знатная клоунада, ты своим поведением мне попов напоминаешь - такая же упертость, иммунитет к аргументам и полное отсутствие логики.

Правда? Это вас Логика заставляет не видеть очевидных вещей?

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

Ты сам то читал, что приводишь?

[DllImport(«user32.dll»)]

rkey = Registry.ClassesRoot.OpenSubKey(m_current_key.Text);

В твоем дистрибутиве это есть?

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

Ты сам то читал, что приводишь?

Я да, вы нет. Я запускаю CSDNS - там нет таких строк.....

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

Ты придуряешься или как? У тебя в системе есть виндовый реестр? user32.dll - системная виндовая библиотека, объяснять тебе почему код из нее не запустится в linux или сам догадаешься? Ты еще повозмущайся что мол виндовые драйвера в linux не работают...

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

Автор, кстати, тот еще клоун. Использует WinForms, но MessageBox за каким-то хреном импортирует из WinAPI.

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

Ты придуряешься или как?

Или как. Популярно объясняю я запускаю CSDNS там нет строк про dll

Ну и теперь даже еслиб были. Это что получается дорогая редакция - даже в Hello World сразу надо user32.dll ?

Ты еще повозмущайся что мол виндовые драйвера в linux не работают...

Отлично работают.

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

Но C# не работает под Linux

Читал тред. Повторюсь.

Mono является реализацией .NET под UNIX-системы. Код написанный на C# работает одинаково хорошо под MS .NET в оффтопике и под Mono в Linux.

Не портированы под Mono библиотеки GUI WinForms и WPF, не портированы - и не будут.

At this point, no group in the Mono project has plans to implement Windows Presentation Foundation APIs as part of the project.

Зато есть Gtk#.

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

Не портированы под Mono библиотеки GUI WinForms и WPF, не портированы - и не будут.

Тоесть софт написанный с WFP не работает под Linux?

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

Не портированы под Mono библиотеки GUI WinForms и WPF, не портированы - и не будут.

Сколько раз уже говорили: Support for Windows Forms 2.0 is complete. В WinForms на .net используется родной WinAPI, в Mono - Gtk. А вот поддержки WPF нет и не будет, т.к. он тащит за собой DirectX.

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

До сих пор не доходит? Мда, линукс разъел твой мозг.

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