Кроссплатформенна розробка мобільного додатку на .NET MAUI

Кроссплатформенна розробка мобільного додатку на .NET MAUI Ми розробляємо кроссплатформенні мобільні додатки на .NET MAUI — єдина кодова база для iOS, Android та Windows. Якщо ваша команда вже використовує C# та ASP.NET Core, MAUI стане природним розширенням: ті самі патерни, той самий DI-контейн

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Кроссплатформенна розробка мобільного додатку на .NET MAUI
Складний
від 2 тижнів до 3 місяців

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Кроссплатформенна розробка мобільного додатку на .NET MAUI

Ми розробляємо кроссплатформенні мобільні додатки на .NET MAUI — єдина кодова база для iOS, Android та Windows. Якщо ваша команда вже використовує C# та ASP.NET Core, MAUI стане природним розширенням: ті самі патерни, той самий DI-контейнер, той самий NuGet. Для підприємств, де мобільний додаток — фронтенд до .NET-бекенду, це оптимальний шлях з точки зору уніфікації команди та успадкування коду.

.NET MAUI — прямий спадкоємець Xamarin.Forms, але архітектурно перероблений. Замість окремих проєктів для кожної платформи — один csproj з умовними залежностями. Це означає один appsettings.json, один DI-контейнер (Microsoft.Extensions.DependencyInjection), одні моделі. Перехід мінімальний: патерни ті самі, інструментарій (актуальна версія Visual Studio / Rider) той самий.

Чому .NET MAUI швидший за Xamarin.Forms?

MAUI використовує Handlers замість Renderers, що скорочує ієрархію в'ю на 2–3 рівні та зменшує накладні витрати на 30–50 %. На практиці це означає більш плавний скролінг та менше споживання пам'яті. Microsoft Learn: .NET MAUI Handlers.

Де виникають реальні проблеми

Hot Reload працює з застереженнями. XAML Hot Reload в останніх версіях Visual Studio нормально справляється з простими змінами розмітки. Але зміни в C# code-behind або view model вимагають перезапуску — .NET Hot Reload в MAUI ненадійний при складних ієрархіях. Ітерація по UI займає більше часу, ніж у Flutter або React Native.

Розмір бінарника. Базовий APK .NET MAUI без trimming — 30–50 МБ. З PublishTrimmed=true та RuntimeIdentifier=android-arm64 вдається стиснути до 15–25 МБ. Однак trimming ламає рефлексію (Reflection), на якій будується частина NuGet-пакетів. Кожен пакет потрібно перевіряти на сумісність з AOT/trimming.

NativeAOT на iOS — з актуальною версією .NET доступний. Дає кращий startup time та розмір, але вимагає повної відмови від runtime Reflection. Якщо проєкт використовує System.Text.Json з source generators — окей. Якщо Newtonsoft.Json — міграція обов'язкова.

Перевірка сумісності з тримінгом Додайте в csproj `true` та запустіть збірку. Якщо з'являються warnings про Reflection — шукайте альтернативу або використовуйте ``.

Як .NET MAUI справляється з офлайн-режимом?

Корпоративний додаток для польових інспекторів: офлайн-робота з формами та фотографіями, синхронізація при появі мережі. Стек: MAUI + EF Core SQLite + Polly для retry черги + Microsoft.Maui.Essentials для доступу до камери та GPS. Платформозалежна частина — тільки робота з файловою системою (шляхи різні на iOS Documents vs Android GetExternalFilesDir). Порівняно з Xamarin.Forms, обсяг платформозалежного коду знизився на 40%. CI — Azure DevOps Pipelines з завданнями dotnet publish під кожну платформу, підпис через KeyVault.

Стек та архітектура

MVVM — стандарт для MAUI. CommunityToolkit.Mvvm покриває 90% потреб: [ObservableProperty], [RelayCommand], [NotifyCanExecuteChangedFor] через source generators. Жодного бойлерплейту INotifyPropertyChanged вручну.

Shell-навігація (Shell) для стандартних випадків; для складної навігації з передачею об'єктів — NavigationPage або ReactiveUI.Maui. Prism.Maui — якщо команда з ним знайома по WPF/UWP.

Мережевий шар — HttpClientFactory через DI, Refit для типізованих REST-клієнтів, Polly для retry/circuit breaker. gRPC-клієнт через Grpc.Net.Client працює на iOS та Android без додаткових налаштувань починаючи з певної версії .NET.

Локальна БД — SQLite-net-pcl для простих випадків, LiteDB для документ-орієнтованого сховища. Entity Framework Core з SQLite провайдером працює, але в trim-сценарії вимагає EFCore.TrimmingSupport.

Push-сповіщення — Plugin.Firebase.CloudMessaging для FCM; APNs на iOS налаштовується через UNUserNotificationCenter в MauiProgram.cs.

Інтеграція з платформою

Доступ до нативних API — через Microsoft.Maui.Essentials: геолокація, акселерометр, Bluetooth, камера, біометрія (SecureStorage + Fingerprint). Якщо потрібен доступ за межами Essentials — DependencyService з платформозалежними реалізаціями або прямий виклик нативного коду через #if ANDROID / #if IOS в partial класах.

Біндинги до нативних SDK: на Android — Java/Kotlin Binding Library через Binding Project; на iOS — ObjectiveC/Swift Binding через ApiDefinitions.cs. Процедура трудомістка, але відпрацьована.

Терміни

Масштаб Терміни
Корпоративний MVP, 8–12 екранів 8–14 тижнів
Продукт з офлайном та синхронізацією 4–7 місяців
Платформа з інтеграцією корп. систем (SAP, 1C) 6–12 місяців
Стек Продуктивність
Xamarin.Forms Базова (Renderer)
.NET MAUI На 30–50% вища (Handler)

Вартість розраховується індивідуально після аналізу вимог та існуючої .NET-інфраструктури клієнта. Зв'яжіться з нами для попередньої оцінки.

Що входить в розробку

  • Вихідний код в репозиторії (Git) з історією комітів;
  • CI/CD пайплайн (Azure DevOps / GitHub Actions) з підписом та деплоєм;
  • Документація архітектури та API;
  • Налаштування App Store Connect та Google Play Console (акаунти клієнта);
  • Навчання команди супроводу (2–3 сесії);
  • Гарантія на виправлення багів протягом 30 днів після передачі.

Замовте розробку під ключ — отримайте готовий до випуску додаток.

На що звертаємо увагу при аудиті

Три речі, які бачимо найчастіше в успадкованих MAUI-проєктах: відсутність trimming-сумісності (додаток важить 60+ МБ), використання застарілих Renderer з Xamarin.Forms замість переходу на Handler, та синхронні операції з БД на UI thread через EF Core без async/await. Останнє — гарантований ANR на Android. Ми допомагаємо мігрувати та оптимізувати — пишіть.