Разработка Super App архитектуры мобильного приложения

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Разработка Super App архитектуры мобильного приложения
Сложный
от 1 недели до 3 месяцев
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Разработка Super App архитектуры мобильного приложения

Super App — это приложение, внутри которого живут другие приложения. WeChat, Grab, Gojek, Kaspi — разные реализации одной идеи: пользователь не переключается между приложениями, всё происходит внутри одного. Для бизнеса это означает owner платформы со своим маркетплейсом мини-программ и партнёров, которые публикуют в него свои сервисы.

Архитектурно super app — это не просто «большое приложение с вкладками». Это платформа с системой запуска изолированных мини-программ, общим auth-контекстом, нативными bridge API и механизмом дистрибуции мини-программ.

Слои архитектуры

Host Application (оболочка). Отвечает за: аутентификацию и управление сессией, навигацию на верхнем уровне (таб-бар, home feed), каталог мини-программ, lifecycle management мини-программ (запуск, пауза, уничтожение), common services (платежи, геолокация, push, camera) через единый Bridge API.

Mini Program Runtime. Изолированная среда выполнения мини-программы. На iOS — WKWebView с ограниченным JS API, или нативный контейнер для compile-time плагинов. На Android — WebView с WebViewClient + addJavascriptInterface, или DexClassLoader для нативных плагинов. Каждая мини-программа работает в своём WebView/контейнере — изолированный localStorage, изолированные куки.

Bridge API. Мини-программа не имеет прямого доступа к нативным API. Всё идёт через Bridge: MiniApp.bridge.call("payment.pay", { amount: 100 }, callback). Bridge переводит вызов в нативный код хоста. Хост решает: разрешить вызов (проверка разрешений мини-программы), выполнить, вернуть результат. Это ключевая точка безопасности.

Sandbox и изоляция

Каждая мини-программа получает от хоста только то, что явно разрешено:

  • Access token для своего backend (не master token хоста)
  • Разрешение на конкретные Bridge-API (платежи — только если партнёр прошёл верификацию)
  • Изолированное хранилище (ключи с префиксом mini_program_id)
  • Ограниченный сетевой доступ через WebView content policy — только домены из whitelist мини-программы

Content Security Policy в WebView: на Android WebSettings.setAllowUniversalAccessFromFileURLs(false), строгий CSP header. На iOS WKWebView с WKContentRuleList — блокируем XHR к неразрешённым доменам.

Мини-программы не могут: обращаться к данным других мини-программ, читать токены хоста, выполнять нативный код за пределами Bridge API.

Управление lifecycle мини-программ

Мини-программа проходит состояния: downloadedlaunchedactivepauseddestroyed. Хост управляет этим как ОС управляет приложениями.

Кеширование и обновление. Мини-программа — это zip-архив (JS/HTML/CSS + манифест с версией). Первый запуск: скачивание с CDN → валидация подписи → распаковка в filesDir. Повторный запуск: проверка версии → если обновление — фоновая загрузка нового архива → следующий запуск открывает новую версию. Пользователь не ждёт загрузки при повторном открытии. Инвалидация кеша по semver: мажорная версия мини-программы — обязательное обновление, минорная — фоновая.

Memory management. Активных WebView одновременно — не более 3 (конфигурируемо). При открытии 4-й — уничтожаем наименее используемую (LRU). WKWebView на iOS потребляет много памяти при рендеринге тяжёлых мини-программ — мониторинг через os_proc_available_memory(), проактивная очистка при applicationDidReceiveMemoryWarning.

Авторизация: SSO внутри super app

Пользователь авторизован в хосте один раз. Мини-программа получает short-lived access token для своего backend через Bridge API: bridge.call("auth.getToken", { scope: "mini_program_x" }, callback). Хост выписывает token с ограниченным scope на 15 минут. Мини-программа обменивает его на свой внутренний JWT на своём бэкенде. Хост никогда не передаёт master token.

Платежи через Bridge

Платёжный Bridge — самый чувствительный компонент. Мини-программа вызывает bridge.call("payment.requestPay", { orderId, amount, currency }) → хост показывает нативный payment confirmation UI (не WebView!) → пользователь подтверждает биометрией → хост обрабатывает платёж через свою платёжную систему → возвращает результат мини-программе. Мини-программа никогда не видит платёжные данные пользователя.

Кейс. Финтех super app: хост на Flutter (навигация, auth, платежи через Stripe), 15 мини-программ (кредиты, страховки, коммунальные платежи, инвестиции) — микс нативных плагинов и WebView-программ. Bridge API: 40+ методов. Маркетплейс мини-программ с модерацией: партнёр загружает zip → CI прогоняет security scan (static analysis JS через ESLint security rules, проверка манифеста) → ручная модерация → публикация. Время запуска ранее кешированной мини-программы — 200–400 мс.

Технический стек

Слой Android iOS
Host shell Jetpack Compose + Hilt SwiftUI + Combine
Mini program runtime WebView (WebKit) + DexClassLoader WKWebView + compile-time плагины
Bridge JavascriptInterface + MethodChannel WKScriptMessageHandler
Storage Room + EncryptedSharedPreferences CoreData + Keychain
Payments Stripe SDK / native Stripe SDK / Apple Pay

Сроки

Этап Ориентировочные сроки
Host shell + Bridge API + первая мини-программа 4–6 месяцев
Маркетплейс мини-программ + lifecycle management +2–4 месяца
Полноценная платформа с партнёрским SDK 10–18 месяцев суммарно

Стоимость рассчитывается индивидуально. Super App — это платформенный продукт, требующий команды с опытом в нативной разработке, безопасности и DevOps.