Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Xamarin — это платформа с открытым исходным кодом, предназначенная для построения современных производительных приложений для iOS, Android и Windows с .NET. Платформа Xamarin представляет собой уровень абстракции, который обеспечивает управление взаимодействием между общим кодом и кодом базовой платформы. Xamarin выполняется в управляемой среде, которая реализует такие возможности, как выделение памяти и сборка мусора.
Благодаря Xamarin в среднем 90 % кода приложения может использоваться без изменений на разных платформах. С помощью этого шаблона разработчик может написать всю бизнес-логику на одном языке (или использовать существующий код приложения), но при этом получить характеристики производительности, оформление и поведение, характерные для каждой соответствующей платформы.
Приложения Xamarin можно писать на ПК или Mac и компилировать в собственные пакеты приложений, например в файлы с расширением .apk для Android или .ipa для iOS.
Примечание.
Для компиляции и развертывания приложений для iOS на данный момент требуется компьютер с MacOS. Сведения о требованиях к разработке см. в разделе Требования к системе.
На кого ориентирована платформа Xamarin
Платформа Xamarin ориентирована на разработчиков, перед которыми стоят следующие задачи:
- Совместное использование кода, тестов и бизнес-логики на различных платформах.
- Написание кроссплатформенных приложений на языке C# в Visual Studio.
Как работает платформа Xamarin

На этой схеме показана общая архитектура кроссплатформенного приложения Xamarin. С помощью Xamarin вы можете создавать собственный пользовательский интерфейс для каждой платформы и писать на языке C# общую бизнес-логику, которая будет использоваться на различных платформах. В большинстве случаев Xamarin позволяет использовать на разных платформах 80 % кода приложения.
В основе Xamarin лежит среда .NET, которая автоматически обрабатывает такие задачи, как выделение памяти, сборка мусора и обеспечение взаимодействия с базовыми платформами.
Дополнительные сведения об архитектуре для конкретных платформ см. в разделах Xamarin.Android и Xamarin.iOS.
Добавленные компоненты
Xamarin сочетает в себе возможности собственных платформ с добавлением возможностей, к которым относятся:
- Полная привязка для базовых пакетов SDK. Xamarin содержит привязки практически для всех базовых пакетов SDK в iOS и Android. Кроме того, эти привязки являются строго типизированными, что означает, что они удобны в навигации и использовании, а также позволяют осуществлять качественную проверку типов во время компиляции и разработки. Строго типизированные привязки, позволяющие сократить количество ошибок времени выполнения и повысить качество приложений.
- Взаимодействие Objective-C, Java, C и C++. Xamarin позволяет напрямую вызывать библиотеки Objective-C, Java, C и C++ для более эффективного использования разнообразного стороннего кода. Эта возможность позволяет использовать существующие библиотеки iOS и Android, написанные на Objective-C, Java или C/C++. Кроме того, Xamarin предлагает проекты привязки для привязки собственных библиотек Objective-C и Java с помощью декларативного синтаксиса.
- Современные конструкции языка. Приложения Xamarin написаны на современном языке C#, который характеризуется значительными улучшениями по сравнению с Objective-C и Java. Сюда входят динамические функции языка, функциональные конструкции, например лямбда-выражения, LINQ, функции параллельного программирования, универсальные шаблоны и т. д.
- Надежная библиотека базовых классов (BCL). Приложения Xamarin используют библиотеку BCL .NET, большую коллекцию классов со всеобъемлющими и упрощенными возможностями, включая поддержку XML, баз данных, сериализации, операций ввода-вывода, строк, сетевых функций и т. д. Существующий код C# можно скомпилировать для использования в приложениях, обеспечивая доступ к тысячам библиотек, которые содержат дополнительные функции, выходящие за рамки BCL.
- Современная интегрированная среда разработки (IDE). Xamarin использует современную среду Visual Studio, в которой реализованы такие возможности, как автозавершение кода, более совершенная система управления проектами и решениями, исчерпывающая библиотека шаблонов проектов, интегрированная система управления версиями и многое другое.
- Поддержка кроссплатформенных мобильных приложений. Xamarin предлагает усовершенствованную кроссплатформенную поддержку для трех основных платформ — iOS, Android и Windows. Объем общего кода в созданных приложениях может достигать 90 %, а библиотека Xamarin.Essentials предлагает универсальный API-интерфейс для доступа к общим ресурсам на всех трех платформах. Это позволяет значительно сократить затраты на разработку и время выпуска продуктов на рынок для разработчиков, создающих мобильные приложения.
Xamarin.Android
Приложения Xamarin.Android компилируются из языка C# в промежуточный язык (IL), который при запуске приложения претерпевает Just-in-Time-компиляцию (JIT) в машинную сборку. Приложения Xamarin.Android работают в среде выполнения Mono параллельно с виртуальной машиной среды выполнения Android (ART). Xamarin предоставляет привязки .NET к пространствам имен Android.* и Java.*. Среда выполнения Mono обращается к этим пространствам имен с использованием управляемых вызываемых оболочек (MCW) и предоставляет среде выполнения ART вызываемые программы-оболочки Android (ACW), благодаря чему обе среды могут вызывать код друг друга.
Дополнительные сведения см. в разделе Архитектура Xamarin.Android.
Xamarin.iOS
Приложения Xamarin.iOS проходят полную Ahead-of-Time-компиляцию (AOT) из языка C# в собственный код сборки ARM. Xamarin использует селекторы для предоставления кода Objective-C управляемому коду C# и Registrars для предоставления управляемого кода C# коду Objective-C. Селекторы и Registrars в совокупности называются "привязками" и обеспечивают взаимодействие между Objective-C и C#.
Дополнительные сведения см. в разделе Архитектура Xamarin.iOS.
Xamarin.Essentials
Xamarin.Essentials — это библиотека, которая предоставляет кроссплатформенные API для собственных функций устройства. Как и сама платформа Xamarin, библиотека Xamarin.Essentials представляет собой абстракцию, которая упрощает процесс доступа к собственным функциям. Ниже приведены некоторые примеры функциональных возможностей, предоставляемых Xamarin.Essentials:
- Сведения об устройстве
- Файловая система
- Accelerometer
- Телефон
- Преобразование текста в речь
- Блокировка экрана
Дополнительные сведения см. в разделе Xamarin.Essentials.
Xamarin.Forms
Xamarin.Forms — это платформа пользовательского интерфейса с открытым кодом. С помощью Xamarin.Forms разработчики могут создавать приложения для Xamarin.iOS, Xamarin.Android и Windows на основе общей базы кода. Xamarin.Forms позволяет разработчикам создавать пользовательские интерфейсы в XAML с помощью кода программной части в C#. Эти пользовательские интерфейсы на каждой платформе подготавливаются к просмотру как собственные элементы управления. Ниже приведены некоторые примеры функций, предоставляемых Xamarin.Forms:
- Язык пользовательского интерфейса XAML
- Привязка данных
- Жесты
- Произведенный эффект
- Стили
Дополнительные сведения см. в разделе Xamarin.Forms.
Начать
Ниже представлены руководства, которые помогут вам в создании первого приложения с использованием Xamarin:
- Начало работы с Xamarin.Forms
- Начало работы с Xamarin.Android
- Начало работы с Xamarin.iOS
- Начало работы с Xamarin.Mac


