создание мобильных приложений с помощью xamarin forms чарльза петцольда
Книга о создании мобильных приложений с помощью Xamarin.Forms
Книга (Charles Petzold) Создание мобильных приложений с помощью Xamarin.Forms Чарльза Петцольда служит руководством по разработке приложений Xamarin.Forms. Единственным предварительным условием является знание языка программирования C#. Книга предоставляет подробный обзор пользовательского интерфейса Xamarin.Forms, а также охватывает анимацию, MVVM, триггеры, реакции на событие, пользовательские макеты, пользовательские отрисовщики и многое другое.
Книга была опубликована весной 2016 г. и с тех пор не обновлялась. Многое в этой книге остается ценным, но некоторые материалы устарели, а некоторые разделы перестали быть полностью верными или полными.
Скачайте электронную книгу бесплатно
Скачайте электронную книгу из Microsoft Virtual Academy в любом удобном формате:
Можно также загрузить отдельные главы в формате PDF-файлов.
Примеры
Все примеры доступны на сайте github и содержат проекты для iOS, Android и универсальной платформы Windows (UWP). (Xamarin.Forms уже не поддерживает Windows 10 Mobile, но приложения Xamarin.Forms будут нормально работать в Windows 10 для настольных компьютеров.)
Сводная информация о главах
Ниже в таблице глав собрана краткая информация по каждой главе. Эти сводки описывают содержимое каждой главы и содержат ссылки нескольких типов:
Ссылки на реальные главы книги (как представлено в нижней части этой страницы) и на связанные статьи
Ссылки на документацию по API с более подробными описаниями классов, структур, свойств, перечислений Xamarin.Forms и т. п.
Эти сводки также указывают, какая часть материала в главе может быть устаревшей.
Скачивание глав и сводной информации
Глава | Полный текст | Сводка |
---|---|---|
Глава 1. Как применить Xamarin.Forms? | Загрузить PDF-файл | Сводка |
Глава 2. Анатомия приложения | Загрузить PDF-файл | Сводка |
Глава 3. Более подробная информация | Загрузить PDF-файл | Сводка |
Глава 4. Прокрутка стека | Загрузить PDF-файл | Сводка |
Глава 5. Работа с размерами | Загрузить PDF-файл | Сводка |
Глава 6. Нажатия кнопки | Загрузить PDF-файл | Сводка |
Глава 7. XAML и Код | Загрузить PDF-файл | Сводка |
Глава 8. Совместное использование кода и XAML | Загрузить PDF-файл | Сводка |
Глава 9. Вызовы API конкретных платформ | Загрузить PDF-файл | Сводка |
Глава 10. Расширения разметки XAML | Загрузить PDF-файл | Сводка |
Глава 11. Инфраструктура c возможностью привязки | Загрузить PDF-файл | Сводка |
Глава 12. Стили | Загрузить PDF-файл | Сводка |
Глава 13. Растровые изображения | Загрузить PDF-файл | Сводка |
Глава 14. Абсолютный макет | Загрузить PDF-файл | Сводка |
Глава 15. Интерактивный интерфейс | Загрузить PDF-файл | Сводка |
Глава 16. Привязка данных | Загрузить PDF-файл | Сводка |
Глава 17. Достигаем мастерства в использовании класса Grid | Загрузить PDF-файл | Сводка |
Глава 18. MVVM | Загрузить PDF-файл | Сводка |
Глава 19. Представления коллекций | Загрузить PDF-файл | Сводка |
Глава 20. Асинхронные и файловые операции ввода-вывода | Загрузить PDF-файл | Сводка |
Глава 21. Transform | Загрузить PDF-файл | Сводка |
Глава 22. Анимация | Загрузить PDF-файл | Сводка |
Глава 23. Триггеры и реакции на событие | Загрузить PDF-файл | Сводка |
Глава 24. Переход по страницам | Загрузить PDF-файл | Сводка |
Глава 25. Виды страниц | Загрузить PDF-файл | Сводка |
Глава 26. Пользовательские макеты | Загрузить PDF-файл | Сводка |
Глава 27. Пользовательские отрисовщики | Загрузить PDF-файл | Сводка |
Глава 28. Расположение и карты | Загрузить PDF-файл | Сводка |
Где и в чем устарела эта книга
С момента публикации книги Создание мобильных приложений с помощью Xamarin.Forms в Xamarin.Forms добавлено несколько новых возможностей. Эти возможности описаны в отдельных статьях документации по Xamarin.Forms.
Другие изменения привели к тому, что часть содержимого книги устарела.
Приложение Xamarin.Forms обычно использует библиотеку для совместного использования кода на нескольких платформах. Изначально использовался формат переносимой библиотеки классов (PCL). На этот формат PCL есть много ссылок во всей книге и в сводках по главам.
Роль XAML стала более значительной
В начале книги Создание мобильных приложений с помощью Xamarin.Forms описано, как создавать приложения Xamarin.Forms на языке C#. Язык XAML в ней даже не упоминается вплоть до Главы 7 XAML и код.
Теперь XAML играет гораздо более важную роль в Xamarin.Forms. Шаблоны решений Xamarin.Forms, распространяемые в составе Visual Studio, создают файлы страниц на основе XAML. Разработчику для Xamarin.Forms необходимо как можно раньше ознакомиться с XAML. Раздел Язык XAML в документации по Xamarin.Forms содержит несколько статей на эту тему, с которых вам будет удобно начать знакомство.
Поддерживаемые платформы
Xamarin.Forms более не поддерживает платформы Windows 8.1 и Windows Phone 8.1.
В этой книге иногда упоминается среда выполнения Windows. Это собирательный термин, который включает все API Windows из нескольких версий ОС Windows и Windows Phone. Более новые версии Xamarin.Forms ограничиваются поддержкой универсальной платформы Windows, которая предоставляет API только для Windows 10 и Windows 10 Mobile.
В режиме предварительной версии Xamarin.Forms поддерживает платформы Mac, WPF, GTK# и Tizen.
Сводная информация о главах
Сводки по отдельным главам содержат сведения об изменениях в Xamarin.Forms, внесенных с момента выхода книги. Они предоставляются в форме примечаний и заметок:
Примечания на каждой странице описывают области, в которых работа с Xamarin.Forms не соответствует материалам, представленным в книге.
Примеры
В репозитории xamarin-forms-book-samples на сайте GitHub в ветви original-code-from-book содержатся примеры программ, согласованные с этой книгой. Главная ветвь содержит проекты, в которых удалены нерекомендуемые API и добавлены улучшенные API. Кроме того, проекты Android в главной ветви обновлены с учетом материального исполнения с помощью AppCompat для Android и в большинстве случаев теперь отображают черный текст на белом фоне.
Creating Mobile Apps with Xamarin.Forms book
The book Creating Mobile Apps with Xamarin.Forms by Charles Petzold is a guide for learning how to write Xamarin.Forms applications. The only prerequisite is knowledge of the C# programming language. The book provides an extensive exploration into the Xamarin.Forms user interface and also covers animation, MVVM, triggers, behaviors, custom layouts, custom renderers, and much more.
The book was published in the spring of 2016, and has not been updated since then. There is much in the book that remains valuable, but some of the material is outdated, and some topics are no longer entirely correct or complete.
Download eBook for free
Download your preferred eBook format from Microsoft Virtual Academy:
Samples
The samples are available on github, and include projects for iOS, Android, and the Universal Windows Platform (UWP). (Xamarin.Forms no longer supports Windows 10 Mobile, but Xamarin.Forms applications will run on the Windows 10 desktop.)
Chapter summaries
Chapter summaries are available in the chapter table show below. These summaries describe the contents of each chapter, and include several types of links:
Links to the actual chapters of the book (at the bottom of the page), and to related articles
Links to all the samples in the xamarin-forms-book-samples GitHub repository
Links to the API documentation for more detailed descriptions of Xamarin.Forms classes, structures, properties, enumerations, and so forth
These summaries also indicate when material in the chapter might be somewhat outdated.
Download chapters and summaries
Chapter | Complete Text | Summary |
---|---|---|
Chapter 1. How Does Xamarin.Forms Fit In? | Download PDF | Summary |
Chapter 2. Anatomy of an App | Download PDF | Summary |
Chapter 3. Deeper into Text | Download PDF | Summary |
Chapter 4. Scrolling the Stack | Download PDF | Summary |
Chapter 5. Dealing with Sizes | Download PDF | Summary |
Chapter 6. Button Clicks | Download PDF | Summary |
Chapter 7. XAML vs. Code | Download PDF | Summary |
Chapter 8. Code and XAML in Harmony | Download PDF | Summary |
Chapter 9. Platform-Specific API Calls | Download PDF | Summary |
Chapter 10. XAML Markup Extensions | Download PDF | Summary |
Chapter 11. The Bindable Infrastructure | Download PDF | Summary |
Chapter 12. Styles | Download PDF | Summary |
Chapter 13. Bitmaps | Download PDF | Summary |
Chapter 14. Absolute Layout | Download PDF | Summary |
Chapter 15. The Interactive Interface | Download PDF | Summary |
Chapter 16. Data Binding | Download PDF | Summary |
Chapter 17. Mastering the Grid | Download PDF | Summary |
Chapter 18. MVVM | Download PDF | Summary |
Chapter 19. Collection Views | Download PDF | Summary |
Chapter 20. Async and File I/O | Download PDF | Summary |
Chapter 21. Transforms | Download PDF | Summary |
Chapter 22. Animation | Download PDF | Summary |
Chapter 23. Triggers and Behaviors | Download PDF | Summary |
Chapter 24. Page Navigation | Download PDF | Summary |
Chapter 25. Page Varieties | Download PDF | Summary |
Chapter 26. Custom Layouts | Download PDF | Summary |
Chapter 27. Custom renderers | Download PDF | Summary |
Chapter 28. Location and Maps | Download PDF | Summary |
Ways in which the book is outdated
Since the publication of Creating Mobile Apps with Xamarin.Forms, several new features have been added to Xamarin.Forms. These new features are described in individual articles in the Xamarin.Forms documentation.
Other changes have caused some of the content of the book to be outdated:
.NET Standard 2.0 libraries have replaced Portable Class Libraries
A Xamarin.Forms application generally uses a library to share code among the different platforms. Originally, this was a Portable Class Library (PCL). There are many references to PCLs throughout the book and the chapter summaries.
The role of XAML has been elevated
Creating Mobile Apps with Xamarin.Forms begins by describing how to write Xamarin.Forms applications using C#. The Extensible Application Markup Language (XAML) isn’t introduced until Chapter 7. XAML vs. Code.
XAML now has a much larger role in Xamarin.Forms. The Xamarin.Forms solution templates distributed with Visual Studio create XAML-based page files. A developer using Xamarin.Forms should become familiar with XAML as early as possible. The eXtensible Application Markup Language (XAML) section of the Xamarin.Forms documentation contains several articles about XAML to get you started.
Supported platforms
Xamarin.Forms no longer supports Windows 8.1 and Windows Phone 8.1.
The book sometimes makes references to the Windows Runtime. This is a term that encompasses the Windows API used in several versions of Windows and Windows Phone. More recent versions of Xamarin.Forms restricts itself to supporting the Universal Windows Platform, which is the API for Windows 10 and Windows 10 Mobile.
Xamarin.Forms has preview support for the Mac, WPF, GTK#, and Tizen platforms.
Chapter summaries
The chapter summaries include information concerning changes in Xamarin.Forms since the book was written. These are often in the form of notes:
Notes on each page indicate where Xamarin.Forms has diverged from the material presented in the book.
Samples
In the xamarin-forms-book-samples GitHub repository, the original-code-from-book branch contains program samples consistent with the book. The main branch contains projects that have been upgraded to remove deprecated APIs and reflect enhanced APIs. In addition, the Android projects in the main branch have been upgraded for Android Material Design via AppCompat and will generally display black text on a white background.
Как создать мобильное приложение с помощью Xamarin
Разбираемся, как создавать приложения на Xamarin.Forms, на примере калькулятора для мобильных устройств.
Пишет о разработке сайтов, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Подготовка к разработке мобильных приложений на C#
Когда Visual Studio установится, нужно создать Xamarin-проект.
Для этого можно выбрать проект Mobile App (Xamarin.Forms), работающий на всех платформах, либо отдельно Android App или iOS App.
Разработка на Xamarin.Forms и Xamarin отличается. В Xamarin.Forms интерфейс создается с помощью XAML, а в Xamarin — с помощью нативных средств выбранной платформы.
Теперь укажите название и путь, а потом нажмите Create:
Затем нужно выбрать шаблон. В этой статье рассматривается создание мобильного приложения на примере пустого (Blank) проекта. Обратите внимание, что можно выбрать платформы Android, iOS и UWP. Для последнего нужно скачать дополнительный компонент в Visual Studio Installer — Universal Windows Platform development.
Visual Studio понадобится какое-то время, чтобы подготовить все файлы проекта, а потом стоит сразу установить средства для отладки приложений. Для этого понадобится либо устройство на iOS или Android, либо эмулятор.
Чтобы создать эмулятор, выберите пункт Create Android Emulator…, как показано на скриншоте:
Откроется меню добавления устройства. Можно выбрать готовый шаблон из списка, разрядность, версию ОС и многие другие параметры. Не указывайте высокие характеристики, если используется слабый компьютер.
После создания устройства выберите его в списке и нажмите Start:
Эмулятор начнет скачиваться. После установки его можно будет запустить, чтобы отлаживать приложения.
Другой способ — использовать физическое устройство. Для этого закройте Visual Studio и возьмите смартфон. В настройках найдите Build Version (название и расположение зависит от производителя) и нажмите на него 7 раз подряд. После этого станут доступными настройки для разработчиков. В них нужно включить USB Debug и подключить устройство к компьютеру.
Откройте Visual Studio и запустите проект, выбрав подключенное устройство:
На устройстве откроется приложение, которое было создано по шаблону:
Поздравляю, первое приложение готово! Закройте его, чтобы вернуться к редактированию кода.
Создание приложения
Приложение разделено на несколько подпроектов. В основном проекте находятся все файлы, с которыми предстоит работать. А в XamarinApp1.Android и XamarinApp1.iOS находится код для этих операционных систем.
Мобильные приложения на Xamarin создаются с помощью страниц (экранов). По умолчанию основная страница — MainPage. Она состоит из двух файлов:
Начать можно с файла разметки интерфейса. Например, можно написать вот такой простой калькулятор:
Создание привязанных к данным приложений в Xamarin.Forms
С помощью элементов управления Infragistics для Xamarin.Forms вы можете создавать интерактивные высокопроизводительные визуализации данных с привязкой к данным для мобильных приложений, которые требуются современным бизнес-пользователям. Некоторые элементы управления визуализацией данных включают в себя круговые диаграммы, датчики, маркеры и часто используемые диаграммы данных с такими сериями, как категория, финансы, накопление и т. Д.
Xamarin.Forms отлично подходит для быстрой разработки бизнес-приложений, где у вас меньше настроек пользовательского интерфейса, а обмен кодами — ваш главный приоритет. Такие корпоративные приложения, как правило, предъявляют простые требования, такие как наличие нескольких форм для сбора данных, панель мониторинга для визуализации данных и несколько настроек для взаимодействия с пользователем. Приложение панели инструментов с диаграммами и формами не требует слишком большого количества настроек пользовательского интерфейса на каждой платформе. Например, PieChart представляется как PieChart, LineChart как LineChart и т. Д., Независимо от того, на какой платформе они отображаются.
Сочетая элементы управления Xamarin.Forms, MVVM и Infragistics, вы можете создавать интерактивные информационные панели для iOS, Android и Windows с максимальным общим кодом для всех платформ (до 99%). С небольшой настройкой, такой как правильный выбор цвета, оптимизация шрифтов и рендеринг соответствующих элементов управления, специфичных для платформы, вы можете сделать свои приложения визуально ошеломляющими и идеально подходящими для платформы.
Для этого поста я создал образцы приложений « WorldData » в Xamarin.Forms, используя диаграммы Infragistics для отображения данных по странам, включая демографию, продолжительность жизни, здоровье и болезни, образование и т. Д.
Источник данных
Это приложение использует данные из Quandl и получает данные в реальном времени с использованием API Quandl, а также из автономного файла CSV, включенного в состав ресурсов проекта. Я сделал это, чтобы показать вам, как вы можете использовать оба механизма для отображения данных в вашем приложении.
Начать
Если вы новичок в Xamarin.Forms, я рекомендую вам ознакомиться с подробной подробной документацией перед началом работы.
Чтобы начать работу с элементами управления Infragistics, следуйте инструкциям в их документации и соответствующим образом настройте проект Xamarin.Forms.
Исходный код и настройка
Проектирование страниц в XAML
Страница — это самый верхний визуальный элемент, который занимает весь экран и имеет только одного дочернего элемента. Вы можете выбрать одну из пяти разных страниц —
раскладка
Макеты действуют как контейнер для представлений и других макетов. Он содержит логику для установки положения и размера дочерних элементов в приложениях Xamarin.Forms. Я использовал систему макетов Grid на всех страницах этого примера. Разметка сетки в Xamarin.Forms очень похожа на систему разметки сетки WPF; это включает представления, расположенные в строках и столбцах.
Вот пример таблицы, написанной на XAML:
В приведенном выше коде метка размещается в 1-й строке, 1-м столбце таблицы, которая определяет 2 строки и 1 столбец. Чтобы узнать больше о Grid, я предлагаю вам прочитать главу 17 «Освоение сетки при создании мобильных приложений с помощью Xamarin.Forms» (Charles Petzold).
Домашняя страница в этом примере в основном состоит из круговой диаграммы, представляющей население мира, и элемента ListView с возможностью поиска, содержащего список стран. При щелчке по стране пользователь переходит к сведениям о стране.
Плюсы и минусы разработки на Xamarin
Принимаясь за разработку приложений под iOS и Android, большинство в первую очередь рассматривает в качестве инструментов разработки признанные нативные стеки технологий, такие как Objective-C, Swift и Java. Однако существует множество других способов создания эффективных и простых в использовании мобильных приложений. Платформа для разработки приложений Xamarin — один из них. В этой статье мы проведем углублённый обзор платформы Xamarin в сравнении с нативными и кроссплатформенными решениями для мобильной разработки на рынке.
Что такое Xamarin?
Когда речь заходит о ключевых инструментах разработки мобильных приложений, Xamarin невозможно обойти стороной. Xamarin — сравнительно новый инструмент, основанный на принципах технологий Microsoft. Но на сегодняшний день в его сообществе уже свыше 1,4 млн разработчиков.
Xamarin — это особый инструмент, так как для создания приложений для всех мобильных платформ он использует единый язык C#.
Несмотря на то что код, связанный с бизнес-логикой, доступом к базе данных и сетевыми коммуникациями, может использоваться на всех платформах, Xamarin позволяет создавать слой кода UI под конкретную платформу. Таким образом, кроссплатформенные приложения Xamarin выглядят на 100% нативными на любом устройстве, обеспечивая наилучший пользовательский опыт по сравнению со стандартными гибридными приложениями.
Платформа имеет две основные формы: Xamarin.iOS и Xamarin.Android. В случае с iOS, исходный код компилируется непосредственно в нативный ассемблерный код ARM (AOT компиляция), тогда как приложения Android Xamarin сначала компилируются в промежуточный универсальный код, а затем — в родной уже во время выполнения (JIT-компиляция). Но тем не менее этот подход не является решением всех проблем. Как и у любой другой технологии, у Xamarin есть свои преимущества и недостатки, которые в последнее время стали предметом горячих споров.
Плюсы использования Xamarin для разработки мобильных приложений
Существует несколько веских причин, по которым Xamarin используется многими компаниями, включая Trello, Slack и GitHub.
+ Единый стек технологий для разработки на всех платформах
+ Производительность близка к нативной
Кроссплатформенное приложение, созданное с помощью Xamarin, можно классифицировать как нативное, в отличие от традиционных гибридных решений, базирующиеся на веб-технологиях. Показатели производительности сопоставимы с показателями Java под Android и Objective-C или Swift для разработки приложений под iOS. Более того, показатели производительности Xamarin постоянно улучшаются и совершенствуются, чтобы полностью соответствовать стандартам отечественной разработки. Платформа Xamarin предлагает комплексное решение вопросов тестирования и отслеживания производительности приложения: Xamarin Test Cloud в сочетании с инструментом Xamarin Test Recorder позволяет запускать автоматические тесты пользовательского интерфейса и находить проблемы производительности еще до выпуска приложения. Однако эта услуга предоставляется за дополнительную плату.
+ Нативный UI
Используя платформо-зависимые элементы UI, Xamarin позволяет создавать интерфейс. Для большего удобства разработки пользовательского интерфейса приложения рекомендуется использовать Xamarin.iOS и Xamarin.Android отдельно. Это обеспечивает лучший результат.
+ Совместимость c оборудованием
Xamarin устраняет все проблемы совместимости оборудования, используя плагины и различные API для работы с функциями общих устройств на всех платформах. Наряду с доступом к особым API-платформам, Xamarin можно компоновать с библиотеками, нативными для конкретной платформы. Это позволяет проводить более тонкую настройку и поддерживать функциональность родного для платформы слоя с небольшими накладными расходами.
+ Open Source-технологии с корпоративной поддержкой
+ Простая поддержка
Благодаря кроссплатформенности, Xamarin упрощает поддержку и обновление программного обеспечения. Вы можете просто внести изменения в один исходный файл, и они будут применяться к приложениям как iOS, так и Android. Но это имеет отношение только к приложениям, использующим общую бизнес-логику, а также общий код для приложений Xamarin.iOS и Xamarin.Android. Таким образом, это поможет вам сэкономить время и деньги, при этом сохраняя ваши приложения в рабочем состоянии.
+ Полный пакет инструментов разработки
Xamarin поставляется в одном наборе с полным пакетом инструментов разработки: собственная система IDE (Visual Studio), Xamarin SDK, тестирование (Xamarin Test Cloud), распространение и аналитика (Hockeyapp and Xamarin.Insights). Таким образом, не нужно вкладываться в дополнительные инструменты или же интегрировать другие приложения для создания, тестирования и развертывания ваших приложений Xamarin.
Минусы при разработке на Xamarin
— Задержки с обновлениями платформ
Это целиком и полностью зависит от команды разработчиков Xamarin. Невозможно, чтобы «сторонние» инструменты обеспечивали немедленную поддержку выхода последних обновлений iOS и Android: требуется некоторое время, чтобы внедрить новые изменения, новые плагины и т. д. Хотя Xamarin утверждает, что обеспечивает поддержку в тот же день, но все же могут быть задержки в один-два дня.
— Ограниченный доступ к open-source библиотекам
— Ограниченность экосистемы
Хоть платформа Xamarin растет и развивается, а также поддерживается со стороны Microsoft, но очевидно, что сообщество специалистов, разбирающихся в специфике Xamarin, значительно меньше, чем у iOS или Android, поэтому найти опытного разработчика может оказаться непросто. Судя по информации из разных источников, сообщество Xamarin составляет 10% от общего количества мобильных разработчиков. Несмотря на то что число инженеров Xamarin не сравнится с числом профессионалов iOS или Android, создатели платформы оказывают поддержку своим специалистам. Например, существует специальное образовательное учреждение Xamarin University, которое предоставляет разнообразные ресурсы и возможности для практической подготовки специалистов в этой отрасли. Благодаря такой поддержке, кривая обучаемости минимальна для опытных программистов C#.
— Требование к базовым знаниям языка программирования
При использовании Xamarin.iOS и Xamarin.Android для создания мобильных приложений с нативным интерфейсом приходится писать платформо-зависимый слой кода. Следовательно, требуются, по крайней мере, базовые знания нативных технологий (Java/Kotlin для Android и Objective-C/Swift для iOS). Однако они не применяются для Xamarin.Forms.
— Xamarin не подходит для приложений с высокопроизводительной графикой
Главное преимущество Xamarin — это возможность использовать код на разных платформах. Тем не менее речь идет только о логике, код UI будет в основном уникален для платформы. Это позволит создавать игры на Xamarin, но богатый пользовательский интерфейс или же сложные анимации с небольшим количеством общего кода делают Xamarin непригодным.
— Больший размер приложений
В зависимости от типа и сложности, приложения Xamarin обычно больше, чем нативные, иногда даже в два раза. На Android простое «Hello, World» может занимать до 16 MB, причем большая часть его используется связанными библиотеками, окружением Mono и базовыми библиотеками (Base Class Library, BCL). Таким образом, приложение обычно нуждается в дополнительной оптимизации, чтобы размер его файла был не слишком большим.
Особенности разработки приложений на Xamarin
— Сложности с интеграцией
Есть вероятность того, что могут возникнуть некоторые проблемы с интеграцией сторонних ресурсов с Xamarin. Хотя большинство инструментов и библиотек предлагают полную поддержку нативных технологий, совместимость с Xamarin не может быть гарантирована компанией-производителем. Хотя у Xamarin есть собственный арсенал компонентов, всегда есть вероятность, что вам может потребоваться конкретная функция или интеграция в вашем приложении, которая не предоставляется платформой.
В последнее время многие разработчики приложений склонны соглашаться с тем, что Xamarin может считаться нативным инструментом разработки. В самом деле, существует мнение, что «все, что можно сделать в приложении iOS с использованием Objective-C или Swift, и все, что можно сделать в приложении Android с помощью Java, можно сделать и на языке C # при помощи Xamarin».