Pull to refresh

Xamarin, нативные iOS/Android и гибридные инструменты разработки

Reading time 3 min
Views 8.6K
В последнее время многие разработчики приложений склонны соглашаться с тем, что Xamarin может считаться нативным инструментом разработки. В самом деле, существует мнение, что «все, что можно сделать в приложении iOS с использованием Objective-C или Swift, и все, что можно сделать в приложении Android с помощью Java, можно сделать и на языке C# при помощи Xamarin».

Тем не менее существует много подводных камней в соперничестве нативной платформы и платформы Xamarin. Итак, давайте сравним Xamarin с нативными инструментами разработки и разработкой гибридных платформ (Ionic, PhoneGap/Cordova).

Xamarin


Стек технологий: один стек, одна кодовая база (C#, .Net framework + нативные библиотеки)
Совместное использование кода: да, до 96% с использованием Xamarin.Forms
UI/UX (User Interface/User Expierence): возможна полная настройка UI для каждой платформы
Производительность: хорошая, близкая к родной
Возможности аппаратных средств: высокие. Xamrin использует платформо-зависимые API и поддерживает связь с нативными библиотеками
TTM (время выхода на рынок): c Xamarin.Forms TTM происходит быстро из-за ограниченной настройки и расширенного обмена кодами.

Нативный


Стек технологий: разные стеки для каждой платформы
Совместное использование кода: нет, разные кодовые базы
UI/UX (User Interface/User Expierence): только платформо-зависимые UI
Производительность: отличная
Возможности аппаратных средств: высокие. Нативные инструменты имеют полную поддержку для возможностей системы OOTB
TTM (время выхода на рынок): Xamarin,iOS и Xamarin.Android требуют больше времени по мере того, как увеличивается количество пользовательского кода.

Гибридный


Стек технологий: один стек, одна кодовая база (JavaScript, HTML5, CCS)
Совместное использование кода: да, 100%
UI/UX (User Interface/User Expierence): общий UI для всех платформ (ограниченные возможности настройки)
Производительность: средняя — низкая
Возможности аппаратных средств: средние. Возможности могут быть доступны через сторонние API и плагины, хотя есть некоторые риски из-за низкого качества и ненадежности большинства из этих инструментов
TTM (время выхода на рынок): TTM для нативных приложений Android или iOS может быть таким же, что и для Xamarin.Forms или гибридных инструментов. Тем не менее создание приложений для множества платформ может потребовать от вас либо продлить время выхода на рынок, либо увеличить количество заинтересованных разработчиков
Благодаря единой кодовой базе и минимальной настройке, гибридные решения быстрей выходят на рынок. Эти инструменты используются даже для макетирования концептуальных проектов

Есть ли альтернатива Xamarin сегодня?


Гибридные инструменты мобильной разработки развиваются довольно быстро, но им по-прежнему не хватает производительности и собственных возможностей, которые предлагает Xamarin. При этом затраты остаются сопоставимыми. Если рассматривать два подхода (гибридный и Xamarin), то самая популярная дилемма — это Xamarin против Ionic и Xamarin против React. Однако React Native теряет популярность из-за ряда ограничений в базовых технологиях (стек веб-технологий).
Тем не менее существует мобильный инструмент разработки на базе JavaScript, который превосходит гибридные решения, по крайней мере, с точки зрения UI. Речь идет о NativeScript. Этот кроссплатформенный фреймворк с открытым исходным кодом при поддержке Telerik и при помощи единой базы кода позволяет вам реализовывать нативный UI и подключаться к родным API для лучшего использования мобильных устройств. Его главное отличие заключается в том, что он использует разметку XML, которая компилируется не в веб-браузере HTML, а в нативных эквивалентах Android и iOS.
Этот подход заполняет пробелы между нативными и гибридными разработками, и его методы похожи на то, что делает Xamarin. Основное различие между этими двумя инструментами заключается в языке программирования. Поэтому сравнение Xamarin и NativeScript, должно стать предметом более подробных исследований.
В то же время обсуждения преимуществ и недостатков Xamarin и нативных разработок Android/iOS кажутся более сложными: оба варианта доказывают, что они ценны с точки зрения качества и производительности. Поэтому выбор обычно зависит от типа приложения, которое вы хотите создать.

Советы по использованию Xamarin


При сравнении всех за и против нетрудно прийти к выводу, что перечисленные недостатки могут нанести ущерб разработке. Большинство владельцев бизнеса выбирают платформу Xamarin, так как это сокращает время выхода на рынок (Time-To-Market) и инженерных затрат за счет совместного использования кода и использования единого стека технологий.
Основываясь на опыте нашей команды, можно заключить, что лучшим вариантом использования Xamarin является разработка мобильных приложений для бизнеса. Со стандартным интерфейсом, который охватывает 90% проектов, логическое ядро продукта можно легко сделать общим на всех платформах.

Источник: www.altexsoft.com/blog/mobile/the-good-and-the-bad-of-xamarin-mobile-development
Tags:
Hubs:
+5
Comments 38
Comments Comments 38

Articles