Кроссплатформенная разработка мобильного приложения на Xamarin

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Кроссплатформенная разработка мобильного приложения на Xamarin
Сложная
от 2 недель до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Кроссплатформенная разработка мобильного приложения на Xamarin

Xamarin.iOS и Xamarin.Android предоставляют прямые биндинги к нативным SDK — без bridge, без промежуточного рантайма кроме Mono. Это отличает их от React Native или Cordova: вы работаете с теми же UIViewController, UITableView, RecyclerView, ConstraintLayout, что и при нативной разработке, просто на C# вместо Swift/Kotlin. Xamarin.Forms добавляет общий UI-слой поверх, но за счёт потери прямого контроля над каждым нативным виджетом.

Microsoft завершила активную поддержку Xamarin в мае 2024 года — новые проекты на чистом Xamarin мы не начинаем. Наша работа в этом направлении: поддержка существующих Xamarin-приложений и их миграция на .NET MAUI.

Поддержка существующих Xamarin-проектов

Сопровождение Xamarin-приложения в 2024–2025 — это специфическая задача. Основные проблемы:

Устаревшие NuGet-пакеты. Часть пакетов более не обновляется под Xamarin.iOS 16+ и Android API 33+. Типичный пример — Xamarin.Forms.GoogleMaps: последний стабильный релиз был в 2022, и на Android 13 возникают runtime crashes из-за изменений в разрешениях геолокации. Приходится форкать, патчить или заменять альтернативой.

iOS 16/17 breaking changes. Apple продолжает ужесточать требования к privacy manifests начиная с iOS 17 — любое приложение, использующее NSUserDefaults, FileTimestamp, SystemBootTime и ряд других API без PrivacyInfo.xcprivacy, получает предупреждения при загрузке в App Store Connect, а с 2024 — отклонение. В Xamarin.iOS PrivacyInfo.xcprivacy добавляется вручную как BundleResource.

Mono рантайм и ARM64. Xamarin.iOS компилирует в нативный ARM64 через AOT — здесь всё хорошо. Xamarin.Android использует Mono runtime с JIT на ARM, что означает больший размер приложения и медленный cold start по сравнению с .NET MAUI на .NET 8 AOT.

Что делаем при поддержке

Для действующих Xamarin-приложений: обновляем целевые SDK (TargetFramework, minSdkVersion/targetSdkVersion), патчим зависимости, добавляем privacy manifest для iOS, исправляем deprecated API (например, UIWebViewWKWebView — Apple давно требует замену). Проводим аудит разрешений под Android 13/14 с новой моделью READ_MEDIA_IMAGES, POST_NOTIFICATIONS.

CI для Xamarin — msbuild / xcodebuild через Azure DevOps или GitHub Actions с Fastlane для подписи. Xamarin.iOS сборка требует macOS-агента с нужной версией Xcode — управляем через Xcode.app selector или xcodes.

Миграция на .NET MAUI

Для проектов, которые планируют активное развитие, рекомендуем миграцию. Microsoft предоставила dotnet-upgrade-assistant с командой upgrade-assistant upgrade --non-interactive — он переписывает csproj, обновляет namespace с Xamarin.* на Microsoft.Maui.*, но требует ручной правки в 30–50% случаев.

Наиболее трудоёмкие части миграции: замена Renderer на Handler, перевод Xamarin.Essentials на MAUI Essentials (API совместимы, но пространства имён изменились), и работа с платформозависимым кодом в DependencyService — в MAUI это заменяется partial class или нативными MauiProgram.cs хуками.

Сроки миграции — от 4 недель (небольшое приложение без кастомных рендереров) до 3–4 месяцев (крупный продукт с глубокой нативной интеграцией).

Стоимость рассчитывается индивидуально после аудита существующего кода и оценки объёма изменений.