Xamarin.Forms

Автор:

telerik.com

Xamarin.Forms – это функция Xamarin, популярной платформы для разработки мобильных устройств, которая расширяет платформу разработчиков .NET инструментами и библиотеками для создания мобильных приложений. Xamarin.Forms – это кроссплатформенный фреймворк с открытым исходным кодом от Microsoft для создания приложений для iOS, Android и Windows на базе .NET из единой общей кодовой базы.

Основанный на фреймворке Mono, Xamarin изначально был разработан для создания приложений для мобильных устройств и macOS. После того как в 2016 году платформа была приобретена компанией Microsoft и включена в семейство .NET, сфера ее применения расширилась. Сейчас с помощью Xamarin можно создавать приложения для iOS, Android, Windows (UWP), macOS и Tizen от Samsung. Разновидности iOS и Android также поддерживаются: Apple TV, iOS Watch, iPadOS, Android TV, Android Watch и т.д. Xamarin.Forms – это не просто кроссплатформенная библиотека пользовательского интерфейса, это полноценный фреймворк, включающий все необходимое для создания мобильных приложений. Это кроссплатформенная навигация, API анимации, центр обмена сообщениями и многое другое.

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

Основы Xamarin.Forms

В самом простом смысле Xamarin.Forms – это фреймворк для создания пользовательских интерфейсов для мобильных приложений. Определение с сайта Xamarin следующее:

«Xamarin.Forms is a cross-platform UI toolkit that allows developers to easily create native user interface layouts that can be shared across Android, iOS, and Windows Phone»

Xamarin.Forms – это кроссплатформенный набор инструментов пользовательского интерфейса, который позволяет разработчикам легко создавать нативные макеты пользовательского интерфейса, которые можно использовать совместно на Android, iOS и Windows Phone.

Xamarin.Forms предоставляет 20+ кроссплатформенных элементов управления пользовательским интерфейсом, каждый из которых имеет API, специфичный для Xamarin.Forms, но отображается как его родной аналог для iOS, Android или UWP. Другими словами, элемент управления Xamarin.Forms Label будет отображаться как iOS UILabel.

Некоторые из встроенных элементов управления Xamarin.Forms, отображаемые на iOS и Android, можно увидеть ниже.

Возможности Xamarin.Forms

  • Несколько различных макетов страниц – включая навигационную страницу, которая управляет навигационным стеком других страниц. Страница с вкладками, содержащая другие страницы, доступ к которым осуществляется с помощью вкладок, и главная страница с подробной информацией.
  • Xamarin.Forms предоставляет средства для компоновки элементов управления на страницах с помощью так называемых макетов, включая Stack, Grid, Absolute и Relative.
  • Механизм привязки – свойство класса может быть «привязано» к свойству элемента управления, например, свойство Text для Label. Уже одно это значительно ускоряет время разработки.
  • Отправка сообщений через класс MessagingCenter, позволяющий различным классам и компонентам общаться, ничего не зная друг о друге.
  • Существует множество утилит для доступа к базовым проектам платформы, чтобы разработчик мог добавить специфический для платформы функционал в основной или общий проект Xamarin.Forms.
  • Класс DependencyService – одна из таких утилит, указатель служб, который позволяет приложениям Xamarin.Forms вызывать собственные функции платформы из общего кода.
  • Эффекты – это средство, с помощью которого вы можете создавать небольшие специфические для платформы изменения пользовательского интерфейса элементов управления и применять их в общем проекте.
  • Пользовательские рендереры (Custom Renders) позволяют полностью контролировать отображение элемента управления в Xamarin.Forms, таким образом вы можете добавить любой дополнительный внешний вид или функциональность, которая вам может понадобиться.

Когда использовать Xamarin.Forms и Xamarin Native?

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

Наряду с этим, любые приложения, требующие сложной анимации или игр, также не подходят для использования Xamarin.Forms, хотя существуют библиотеки, созданные для разработки игр, такие как CocosSharp и UrhoSharp, которые доступны из Xamarin.Forms.

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

Резюме

Xamarin.Forms – это мощный фреймворк для создания кроссплатформенных приложений с использованием .Net. Он предоставляет не только средства для написания логики приложения, которая может быть общей для всех платформ, но и пользовательские интерфейсы.

Xamarin.Forms предоставляет множество элементов управления пользовательского интерфейса из коробки плюс дополнительные возможности.

В Xamarin.Forms встроена мощная система связывания данных, позволяющая связывать свойства класса и обновлять их с помощью свойств элемента управления пользовательского интерфейса (и наоборот).

Наконец, Xamarin.Forms предоставляет множество средств для доступа и адаптации приложения к конкретной платформе с помощью различных классов, например, Ddependency Service, Custom Renderers.

Но самое главное, Xamarin.Forms – это интересный и продуктивный фреймворк для работы.

Материалы по теме