@SulimK1ald

Можно ли писать андроид приложения на C#?

Какая разница между java(Android Studio) и C#(Xamarin) разработкой, если мы говорим о мобильной разработке?
Я имею ввиду разработку приложений/программ для андройд(.apk).

Изначально я выбрал C# для разработки игр на Unity, с тех пор я начал осозновать, что игры это конечно интересно, но мне хочется делать вещи не только ради забавы и "уничтожения времени", но и например полезные приложения на андройд, которые решают те или иные проблемы аудитории.
Было бы прекрасно, если обеими этими задачами можно было заниматься на одном и том же языке, но если вдруг Xamarin плохой вариант в сравнении с Android Studio, то я готов так же изучать еще и Java...
Известно, что для мобильной разработки популярен Java, но и здесь не все так однозначно, если учитывать Kotlin.

Так какой совет вы можете мне дать?...
  • Вопрос задан
  • 301 просмотр
Пригласить эксперта
Ответы на вопрос 3
vabka
@vabka Куратор тега C#
Токсичный шарпист
Ну Котлин сейчас даже популярнее чем Java.
Xamarin в принципе по размеру и скорости запуска будет немного хуже, чем Java/Kotlin, при прочих равных.

Сложнее будет зависимости искать - иногда может понадобиться свою обёртку для жавы написать, если нужно будет с какой-нибудь библиотекой компонентов для Android воспользоваться.

А в остальном примерно то же самое
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
Java vs Kotlin - можно спорить, что лучше. Но это нативная разработка.
Си шарп - кросплатформер.

Поэтому выбор инструмента зависит от задачи. Серьезное приложение понятие большое.
Я писал и пишу на яве. Но захотелось выйти за пределы одной платформы.
Попробывал react native. Не понравилось. Пробую сейчас flutter (dart).
К чему в результате хочу придти.
Часть кода общая. Остальное в виде пакеджа и реализацией под конкретную платформу.
Если еще осилю CPP , то это тоже будет почти общим с обертками над .so .dll
Но учить до посинения.

p.s. Сейчас попалось в статье разочаровавшегося ( по сути тот человек хотел сделать WebView приложение).
Угу именна та часть, которую не реально обернуть для 5ти платформ (андроид иос макось винда линух)

В каждом пакете Flutter может встретиться баг в коде Dart, или в коде Swift/Objective-C, или в коде Java/Kotlin. А то и в нескольких частях сразу. Его может сломать любое обновление Flutter, Dart, iOS или Android – а вместе с ним сломается и ваше приложение на одной или всех платформах. Если вы не владеет всеми тремя языками и всеми поддерживаемыми платформами, то, вероятно, не захотите искать и устранять проблемы самостоятельно.
Ответ написан
Комментировать
Писал пару кроссплатформенных приложений на Xamarin.Forms 4-й версии. В целом удобоваримо.
Были небольшие сложности с ios-версией.
Чтобы реализовать сложные UI интерфейсы придётся заморочиться (хотя в последних версиях вроде с этим стало гораздо лучше).
Есть много функционала заточенного под использование Azure, если актуально.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы