RUEN

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

Все, что можно сделать в приложении iOS с использованием Objective-C или Swift, и все, что можно сделать в приложении Android с помощью Java, можно сделать и на языке C # при помощи Xamarin

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

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

Xamarin

Нативный

Гибридный

Стек технологии

Один стек, одна кодовая база (C#, .Net framework + нативные библиотеки)

Разные стеки для каждой платформы

Один стек, одна кодовая база (JavaScript, HTML5, CCS)

Совместное использование кода

Да, до 96% с использованием Xamarin.Forms

Нет, разные кодовые базы

Да, 100%

UI/UX (User Interface/User Expierence)

Возможна полная настройка UI для каждой платформы

Только платформо-зависимые UI

Общий UI для всех платформ (ограниченные возможности настройки)

Производительность

Хорошая, близкая к родной

Отличная

Средняя — низкая

Возможности аппаратных средств

Высокие. Xamrin использует платформо-

зависимые API

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

Высокие. Нативные инструменты имеют полную поддержку для возможностей системы OOTB

Средние. Возможности могут быть доступны через сторонние API и плагины, хотя есть некоторые риски из-за низкого качества и ненадежности большинства из этих инструментов

TTM (время выхода на рынок)

С Xamarin.Forms TTM происходит быстро из-за ограниченной настройки и расширенного обмена кодами.

Xamarin,iOS и Xamarin.Android требуют больше времени по мере того, как увеличивается количество пользовательского кода.

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% проектов, логическое ядро продукта можно легко сделать общим на всех платформах.

В случае создания приложений со сложным интерфейсом, количество общего кода кардинально уменьшается. Таким образом, кроссплатформенная разработка Xamarin теряет своё главное преимущество и может сравняться по затратам с отдельными нативными решениями для каждой целевой платформы. Но это не делает приложения на Xamarin менне качественными, просто несколько увеличивает трудозатраты. И если вы ищете альтернативу платформе Xamarin для создания кроссплатформенных мобильных приложений, вы, скорее всего, разочаруетесь. Так, наиболее широко используемыми кроссплатформенными мобильными инструментами для разработки являются PhoneGap/Apache Cordova, Ionic Framework, Appcelerator/Titanium, а они, в первую очередь, опираются на веб-технологии, такие как HTML5 или JavaScript. Именно поэтому ни один из этих инструментов не может иметь такой же уровень производительности и нативные функциональные возможности, какие нам предлагает платформа Xamarin.

Для функционирования сайта мы собираем cookie, данные об IP-адресе и местоположении пользователей.

Я согласен