Готовим план размещения PWA в сторах без переписывания кода.

Еще пару лет назад классический мобильный банкинг — это нативные приложения под Android и iOS. И ничто не предвещало перемен, потому что держать две команды хоть и недешево, но зато можно реализовать любую фичу. Но технология PWA и мобильные устройства "повзрослели", а санкции и проблемы с загрузкой приложений в сторы еще быстрее развернули рынок в сторону PWA.
Оказалось, что есть и другие плюсы, кроме возможности оказывать услуги клиентам без App Store и Google Play. Тут и выход на рынок быстрее, чем у нативных приложений, и затраты на разработку ниже. Есть ограничения, но и с ними научились работать.
А что, если…
Получается, что сегодня компании вкладываются в разработку и развитие PWA. Но возможность вернуться в сторы рано или поздно появится. Или откроется альтернатива: новые площадки, локальные сторы, обходные пути через партнеров. И вот логичный вопрос: а с чем туда идти?
Полностью переписывать под каждую платформу — дорого, долго и не всегда оправдано. Особенно если web-версия уже стабильна и покрывает 80-90% сценариев.

Обёртка для PWA: мост между вебом и нативом
Native wrapper — это тонкий нативный слой, который запускает PWA внутри WebView и добавляет доступ к системным функциям (камера, Face ID, push и др.). С таким апгрейдом приложения проходят модерацию в App Store и Google Play, при этом остаются легкими и управляемыми.
Можно продолжать развивать одну логику в web, но добавить канал распространения через сторы.
Обзор технологий для нативных рамок
Конечно, есть не один вариант создания нативной рамки. Выбор подходящей технологии будет во много определяться исходником. Если не вдаваться в детали, то вот основные:
1. WebView + нативная обёртка (ручная сборка)
Классический и самый гибкий подход: нативное приложение собирается на Swift (для iOS) и Kotlin/Java (для Android), внутри используется WebView, который отображает PWA.
Плюсы: Отлично масштабируется. Можно гибко настраивать поведение WebView, обрабатывать навигацию, логику, offline-сценарии, подключать системные разрешения (камера, push, Face ID и т. д.). Легко пройти модерацию в магазинах приложений при правильной архитектуре.
Минусы: требует отдельной команды iOS/Android2. Capacitor
Capacitor — инструмент от команды Ionic, который позволяет использовать веб-приложение внутри кроссплатформенного контейнера. Поддерживает:
доступ к нативным API через плагин-систему;
автоматическую сборку под iOS и Android;
публикацию в сторы;
возможность интеграции с Angular, React, Vue и чистым JS.
Плюсы: удобный DevX, хорошая документация, активное комьюнити.
Минусы: обёртка всё ещё зависит от качества PWA-кода, в сложных кейсах потребуются кастомные плагины.

3. Trusted Web Activity (TWA)
TWA — технология от Google, которая позволяет запускать PWA как полноценное приложение в Google Play. Всё работает внутри Chrome Custom Tabs, но отсутствует UI браузера и обязательна поддержка Digital Asset Links.
Плюсы: соблюдаются все требования Google; можно подключить push и авторизацию;
Минусы: подходит только для Android, для iOS аналогов нет.
4. Cordova (устаревающий, но рабочий)
Apache Cordova — один из первых фреймворков для упаковки веб-приложений в мобильные. Позволяет использовать HTML/JS/CSS, подключать плагины к нативным функциям и собирать приложения для iOS/Android.
Минусы: не самая современная экосистема, неактуальные плагины, слабее поддержка новых API.
5. Flutter Web + оболочка
В редких случаях проект делается на Flutter Web, и потом уже оборачивается в нативную Flutter-оболочку. Это возможно, но требует гораздо больше усилий и смысла имеет только если у вас уже есть Flutter-стек в команде.
Что по срокам?
В среднем собрать рамки можно за 2-4 недели. При этом логика, дизайн, бэкенд остаются прежними, весь фронт остаётся в PWA — обновления приходят централизованно.
Какие плюсы присутствия в сторах?
Это стратегически важный канал для бизнеса, особенно в финтехе, где уровень доверия, узнаваемость и пользовательский опыт критичны. Иметь приложение с хорошим рейтингом в сторах — большой плюс к клиентскому доверию и узнаваемости. Сторы работают как поисковые площадки, где можно продвигаться органически за счет выдачи и запускать платное продвижение.

Нативные рамки как часть стратегии
Мы с командой делали нативные обёртки для кредитного приложения. Продукт стартовал с нуля как PWA, а затем был обёрнут для iOS и Android под публикацию в сторах. Вся логика осталась централизованной в веб-версии, без необходимости разрабатывать отдельные мобильные кодовые базы.
Такой подход позволил быстро (меньше, чем за полгода) вывести новый продукт на рынок и получить большую гибкость в маркетинге: одни кампании ведут пользователей на веб-версию, другие — в сторы. Так бизнес тестирует разные стратегии привлечения и выбирает наиболее эффективные. И это особенно важно для новых продуктов.
Эта обзорная статья. И мы не были уверены в популярности этого подхода, поэтому тестируем тему. Если она интересна (следим за реакциями), то в будущем расскажем про техническую реализацию нативных рамок для PWA.