Преимущества и недостатки Xamarin

Один за всех. Это возможно? Платформа Xamarin позволяет разрабатывать собственные приложения для разных платформ на одном языке программирования и с помощью одних и тех же инструментов. Каковы преимущества? Какие недостатки? И когда стоит использовать Xamarin.Forms? Два практических примера помогут.

Преимущества и недостатки Xamarin

Xamarin – один инструмент для всего?

Техническая концепция нового приложения существует, но теперь возникает вопрос о технической реализации: веб, гибрид или вы предпочитаете нативное? Часто нативное решение было бы правильным выбором, но затраты на нативную кроссплатформенную разработку часто очень высоки с точки зрения затрат и выгод. Кросс-платформенный подход обещает здесь выход.

Приложения, будь то для клиентов или сотрудников, являются важным строительным блоком для цифровых услуг, которые компании должны предоставлять сегодня, чтобы поддерживать свою конкурентоспособность. После того, как определены возможные услуги и процессы, которые следует оцифровать через приложение, встает вопрос о технической реализации. Здесь компании сталкиваются с принципиальными решениями: важно взвесить преимущества и недостатки соответствующей технологии для каждого приложения с вашими собственными требованиями. По сути, не существует универсального решения: двусторонний подход обычно имеет больше смысла, чем стратегия «всегда нативный» или «всегда гибридный».

С точки зрения пользователя, разработка нативных приложений часто обещает лучший пользовательский опыт; В конце концов, однако, часто выбирают гибридный подход из соображений стоимости. В этом контексте, возможно, стоит взглянуть на платформу Xamarin https://itvdn.com/ru/video/xamarin, с помощью которой собственные приложения могут быть реализованы для нескольких платформ с меньшими затратами.

Стоит ли того Xamarin?

Разработка собственных приложений обходится очень дорого, потому что для каждой платформы (например, iOS, Android и Windows) необходимо использовать разные языки программирования и разные инструменты разработки. Следовательно, вам понадобится как минимум один разработчик с соответствующими знаниями для каждой платформы. Но это также означает, что всю логику приложения придется разрабатывать несколько раз. Это приводит к различным статусам разработки, более длительному времени разработки до готовности к рынку и увеличению усилий по обслуживанию и уходу за приложением.

Преимущества Xamarin

Платформа Xamarin, с другой стороны, предлагает возможность разработки собственных приложений для разных платформ на одном языке программирования и с использованием одних и тех же инструментов. Это позволяет повторно использовать часть логики приложения, не зависящую от платформы, например связь с сервером и бизнес-правила. Пользовательские интерфейсы будут по-прежнему создаваться с учетом специфики платформы. Это приводит к более быстрой и единообразной реализации приложения.

Как работает принцип?

Принцип работы платформы разработки состоит из трех частей:

  • Существует частичная реализация .NET Framework (Xamarin.iOS и Xamarin.Android) для платформ Android и iOS. Это означает, что вы можете повторно использовать код C # на этих платформах, который содержит код только из этого подмножества.
  • Кроме того, Xamarin создает классы-оболочки C # для всех API-интерфейсов, зависящих от платформы, которые обычно доступны разработчикам iOS и Android. Таким образом, с помощью языка программирования C # вы также можете получить доступ ко всем функциям платформы и, например, управлять датчиком отпечатков пальцев iPhone.
  • Так что все это в конечном итоге также работает на смартфонах Android или iOS, приложения, разработанные таким образом, преобразуются в полностью нативные приложения с помощью компиляторов Xamarin.

Xamarin.Forms

С Xamarin.Forms Xamarin идет на шаг дальше, чем раньше. Здесь вы можете определить пользовательский интерфейс для всех платформ, используя общий язык описания. Это устраняет большую часть усилий, которые требовались для создания пользовательских интерфейсов для конкретной платформы с помощью стандартной платформы Xamarin. Тем не менее, скомпилированные в итоге приложения и их интерфейсы остаются родными. Xamarin.Forms просто преобразует все общие элементы пользовательского интерфейса в их собственные аналоги. Конечно, это работает только со стандартными компонентами. Однако у вас также есть возможность интегрировать свой собственный код пользовательского интерфейса для соответствующей платформы в каждой точке.

Преимущества и недостатки Xamarin

Недостатки Xamarin

На первый взгляд принцип, лежащий в основе Xamarin, кажется разумным и имеет много преимуществ. Здесь не стоит скрывать недостатки:

  • Наиболее ярким преимуществом Xamarin является то, что вам больше не нужно разрабатывать собственное приложение несколько раз. В принципе, только одна команда может разрабатывать для нескольких платформ. Хотя требуется меньшее количество ноу-хау для конкретной платформы, разработчик Xamarin должен быть знаком с отдельными платформами. Он должен создавать интерфейсы в зависимости от платформы, а также должен хорошо разбираться в соответствующих API. С Xamarin.Forms также иногда необходимо работать с автоматически сгенерированным пользовательским интерфейсом отдельных платформ.
  • Разработчик Xamarin может использовать Visual Studio в качестве среды разработки (IDE) для всех платформ. Однако, в отличие от сред разработки от Apple и Google, Visual Studio бесплатна только для индивидуальных разработчиков и малых предприятий.
  • Требуется оборудование Apple

Если вы хотите создавать приложения для iOS, всегда требуется оборудование Apple. Даже Xamarin не может этого изменить. Вот почему многие разработчики работают с Mac, на котором также работает виртуальная Windows. Пока вы не хотите создавать приложения для Windows, вы можете работать только с Mac и использовать новую Visual Studio для Mac (ранее Xamarin Studio).

  • Технически сложный

Технически то, что делает Xamarin, очень сложно. Эта сложность и зависимость от отдельных платформ делают Xamarin Framework подверженным ошибкам. Например, может случиться так, что путь к внутреннему инструменту изменился во время следующего обновления Android, что затем приведет к ошибке в Xamarin. К счастью, поддержка Xamarin отзывчива, а растущее сообщество очень активно, поэтому такие ошибки можно найти и исправить относительно быстро.

  • Xamarin.Forms очень долго находился только в стадии бета-тестирования, и было сомнительно, насколько хорошо этот подход вообще может работать. Тем временем, однако, он находится в зрелом состоянии и хорошо подходит для многих приложений. Но если вам нужно адаптировать слишком много элементов пользовательского интерфейса к конкретным платформам, тогда преимущество Xamarin.Forms во времени будет потеряно. В этом случае лучше полагаться на стандартный фреймворк.

Когда какой фреймворк использовать?

Так много теории, но как узнать, какой фреймворк использовать (Xamarin или Xamarin.Forms)?

В конечном итоге решение здесь не может быть принято ни за кого, так как к каждому проекту предъявляются индивидуальные требования. В принципе, можно сказать, что Xamarin.Forms хорошо подходит для проектов, в которых быстрое время вывода на рынок на максимально возможном количестве платформ важнее, чем сложный пользовательский интерфейс и удобство для пользователей.

Далее используются два реальных проекта, чтобы показать, какая технология была выбрана. Разрешение происходит только в конце соответствующего примера. Читатель, читая индивидуальные требования, должен решить, какие пункты говорят за или против какой структуры.

Практические примеры

Пример 1: приложение для выездного обслуживания

Первый проект – это цифровой каталог продукции для продавцов ведущего мирового производителя техники для обработки поверхностей.

  • Поскольку поверхности клиентов имеют очень тонкую структуру, главным приоритетом было найти мобильное устройство, способное отображать максимально возможное количество пикселей на дюйм (ppi). Конкретная операционная система играла второстепенную роль.
  • Если позже на рынке появится устройство с еще лучшим разрешением, необходимо будет принять необходимое изменение платформы. Поэтому приложение с самого начала должно было быть реализовано как можно более независимо от платформы.
  • Приложением должны пользоваться не только продавцы, но и конечные покупатели. Поэтому большое внимание было уделено элегантному внешнему виду, соответствию спецификациям корпоративного дизайна и руководству пользователя для конкретной платформы.
  • Изображение поверхности должно быть визуализировано в 3D, чтобы имитировать внешний вид соответствующего продукта в различных условиях освещения. Для этого требовались высокопроизводительный расчет и визуализация.
  • Высокая производительность также была важна при расшифровке изображения и метаданных из локальной базы данных, размер которой составлял несколько гигабайт, во время выполнения.

На основании изложенных требований было принято решение использовать обычную платформу Xamarin.

Пример 2: Приложение для клиентов B2B

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

  • Основная функция приложения – это форма запроса поворотных клапанов. После отправки формы автоматически рассчитывается подходящая блокировка, которая становится доступной для запрашивающего в виде модели САПР, чтобы ее можно было включить непосредственно в план.
  • Помимо текущей информации о компании и каталога продукции, заказчик должен иметь возможность отправлять в службу поддержки запросы на обслуживание, включая фотографии.
    Макеты экранов предоставил заказчик. За одним исключением, все экраны содержали только стандартные компоненты пользовательского интерфейса.
  • Поскольку это приложение для конечных клиентов, его следует реализовать как для Android, так и для iOS.
  • Для заказчика это было первое приложение, которое он разработал. Поэтому его интересовала как можно более дешевая реализация.

Для реализации этого приложения было принято решение использовать Xamarin.Forms.

Заключение и перспективы

Автор пока не пожалел об использовании Xamarin. Время от времени он скрипит и защипывает, но с каждым выпуском вы можете рассчитывать на улучшения или даже новые инструменты, которые сделают программирование приложений еще более удобным.

Еще не было требования, которое нельзя было бы реализовать с помощью Xamarin. Даже собственные компоненты от сторонних производителей могут быть интегрированы в ваше собственное приложение Xamarin через проекты привязки Xamarin.

Microsoft купила компанию Xamarin в 2016 году, а чуть позже выпустила фреймворки Xamarin.iOS, Xamarin.Android и Xamarin.Forms с открытым исходным кодом. С тех пор как общее внимание, так и интерес сообщества разработчиков к этим фреймворкам выросли. Это хорошее развитие, потому что только технологии с широкой поддержкой имеют долгосрочные шансы на рынке.

Благодаря более тесному сотрудничеству с командой .NET, можно предположить, что Xamarin Framework в недалеком будущем будет основываться на стандартной библиотеке .NET. Это означает, что части бизнес-логики можно повторно использовать не только между разными приложениями, но и в серверной части на базе Linux.

В связи с постоянным развитием Xamarin.Forms это также становится интересным для все большего количества случаев использования. Уже есть предварительная версия, с помощью которой можно разрабатывать приложения для операционной системы Samsung Tizen.

 

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Adblock
detector