Android для дотнетчиков, но по-человечески
От: Kolesiki  
Дата: 12.11.20 10:50
Оценка: :)
В условиях тотального оведроживания мобильного сегмента, у C#-программистов возникает естественное желание безнапряжно писать под Андроид. На сегодня всё, что предлагает M$ — это Xamarin, который на мой частный взгляд, "пятое колесо в телеге", причём не самого высокого качества. А учитывая, КАК это чудище работает в Ведроид-среде, закономерно хочется выкинуть архаичные "mono-CLRы" с "прокси" и выпускать "почти нативные" приложения, полностью и напрямую используя Ведроид-АПИ. Как мне видится один из вариантов "освоения Ведроида дотнетом":

Раз у нас есть Roslyn, мы можем с лёгкостью брюк, превращающихся в шорты, запилить вывод JVM-кода. Да, возможно некоторые плюшки CLR придётся поскипать (dynamics? Много ли они кому нужны?). Главное — мы можем выпускать приложения, "нативные для Жабы". Работа — не бей лежачего, уж куда проще запиливания отдельной CLR для Андроида! А далее как по смазке: создаём врапперы к Андроид-АПИ, которые будут "MSIL-библиотеками". Т.е. Студия будет с ними работать вполне прозрачно.

Следующий этап — "WPF на мобильный лад": делаем декларативную ГУЙню, которая 1:1 мэпится в контролы Ведроида (даже с теми же именами). Синтаксис будет XAML'овый. Опять же, невелика работа — сконвертировать теги в контролы мобилы и инициализировать свойства.

Сама разработка (поначалу) прекрасно будет идти на родной Вендюшечке, где мы собираем бинарные apk, заливаем по USB в ведроид и вуаля — аппликуха на C#/WPF, которая "как влитая" нативно работает в неуклюжем Ведроиде!
Касательно "мышедизайна", тут всё просто: на венде будут работать минимально-функциональные mock-контролы, имитирующие Ведроидные — так вы будете видеть все цвета, выравнивания и т.п. А в результирующий apk уже пойдут прямые обращения к Андроиду.


Напомню, это всё всего лишь инженерная идея, как можно было БЫ сделать это по-человечески. И конечно же, крайне приветствуются ваши мнения, которые вы конечно же медленно обдумаете, прежде чем публиковать — вопрос-то вполне технический и интересный. Итак, что вы думаете по поводу сей системы?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.