Разница в производительности между кросс-платформой и Native Android-приложениями?

У меня есть приложение, которое использует:

  • службы определения местоположения
  • облачная служба Google с push-уведомлениями
  • общие настройки

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

Таким образом, основная активность приложения заключается в следующем:

  • Отслеживание местоположения пользователей

  • Получать push-уведомления

  • Пользователь выбирает предпочтительные категории

  • для сохранения или удаления уведомлений

Вся эта информация хранится в центральной базе данных.

Я запрашиваю проблемы с производительностью между приложениями для родного Android и Cross xamarin.

К моему способу мышления использование кросс-компилятора замедлит работу.

Но затем я прочитал следующее:

Xamarin - реализация С#, предназначенная для iOS, Android и Windows Phone. Используя Xamarin Studio, вы можете написать все свое приложение на С# и скомпилировать его на собственный байт-код.

Есть ли способ определить разницу в производительности между кодом, сгенерированным с использованием С# в Xamarin или исходным кодом Java?

Ответ 1

Я разрабатываю приложения с Xamarin с 3 лет. Мы разработали приложения для множества различных применений (Consumer, Sound analytics, в прямом эфире после презентаций, "в реальном времени" 3D-визуализация данных датчиков...). В наших проектах у нас были проблемы с производительностью нет, которые были вызваны Xamarin. Все проблемы производительности, которые у нас были, были бы проблемами с производительностью в собственном развитии тоже (из-за некоторого отставания в знаниях от собственного поведения).

== > Обучение: в конце дня вы должны знать о специфике платформы.

С Xamarin у вас есть прямой доступ к родным API.

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

Важно также выбрать технологию, основанную на вашей команде. У членов команды опыт работы с С#, Visual Studio,...? Если ваша команда не знакома с Xamarin, у вас должен быть хотя бы один опытный разработчик по каждой из этих тем:

  • Android
  • С#/Visual Studio
  • IOS

Тогда вам должно быть легко разработать отличные приложения с Xamarin.