На сколько удобно писать на C# под Android?

Нужно написать мобильное приложение. На сколько C# годен для этого? Будет ли приложение одинаково хорошо работать на iOS и Android? Много ли подводных камней? И что там с библиотеками?
  • Вопрос задан
  • 25198 просмотров
Решения вопроса 1
@SZolotov
Asp.net core, MAUI,WPF,Qt, Avalonia
В целом разрабатывать на Xamarin удобно.
1. Можно открыть книгу по разработке под Android на java и копипастить примеры оттуда с минимальными доработками, с учетом языка и xamarin'a
2. Сам язык C# более чем годен, очень активно развивается. Есть куча шарповых библиотек как платных так и бесплатных, как в репозитории пакетов так и на GitHub в виде исходников. Xamarin позволяет подцеплять нативные либы на java, если чего-то не хватает.
3. Есть "нативный" Xamarin (Xamarin.Android, Xamarin.iOs и т.д.) - это обёртка над нативными API, UI делается привычным для нативных разработчиков способом. Есть Xamarin.Forms - там можно делать единый UI с помощью XAML. Инструмент более чем работающий, но нужно к нему привыкнуть, знать минусы, знать особенности платформ под которые разрабатывается приложение, знать что Xamarin Forms можно использовать не для всех приложений, знать как делать быстрый UI. XF - в целом готов для использования.
4. Да, размер пакета приложения если сделать все по дефолту большой, есть куча статей по оптимизации размера приложений, но размер приложения будет больше чем у нативных.
5. Основная проблема Xamarin Forms - не баги, размер или еще что-то. Это неправильные ожидания которые к нему предъявляются. У него своя ниша.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
yarosroman
@yarosroman Куратор тега C#
C# the best
Пробывал, в итоге размер пустого приложения порядка 20 мегабайт, с нативными вызовами проблема. В итоге остановился на Kotlin и Android Studio.
Ответ написан
Комментировать
LamerX
@LamerX
Начинающий Front - End программер
Вроде как для таких приложений нужен фреймворк Xamarin (сам как-то этим интересовался но уже где-то 2 месяца назад )
Ответ написан
Комментировать
@zugo
Гуглите по ключевому слову Xamarin.
Если вкратце, для построения UI там есть библиотека Xamarin.Forms, которая позволяет делать кроссплатформенные приложения а-ля "write once - run everywhere". Так вот, все, кто ее использовал - жаловались на забагованность, сырость и кривизну. Отсюда следует вывод, что использовать ее не надо.

Кроме этого, там есть возможность использовать привязки к нативному UI для каждой платформы, и это, вроде как, рабочий метод. То есть, придется вынести бизнес-логику во внешнюю библиотеку, а UI делать под каждую мобильную платформу свой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы