# PWA или нативное приложение: что выбрать для MVP

> PWA или нативное приложение, React Native или Flutter: что выбрать для MVP, где у каждого варианта потолок и когда пора переходить дальше.

Published: 2025-03-17 · Source: https://subxcat.com/ru/articles/pwa-vs-native-app · Author: SUBXCAT

PWA или нативное приложение — вопрос, который встаёт, как только у веб-MVP появляются первые пользователи с телефонов. PWA (progressive web app) — это сайт, который можно установить на главный экран и который умеет кое-что, что раньше умели только приложения: работать без сети, присылать уведомления, открываться без адресной строки. Нативное приложение пишется под конкретную платформу и ставится из магазина.

Между ними есть третий вариант — кроссплатформенные фреймворки, и для MVP он часто самый разумный. Разберём все три.

## PWA или нативное приложение: три варианта простыми словами

- **PWA.** Тот же веб-код, плюс манифест и service worker — скрипт, который кэширует файлы и принимает уведомления. Одна кодовая база, без магазинов, без ревью, обновление — обычный деплой.
- **React Native или Flutter.** Одна кодовая база, из которой собираются настоящие приложения для iOS и Android. Публикуются через магазины, имеют доступ почти ко всему, что есть у телефона.
- **Нативное.** Swift для iOS и Kotlin для Android, две отдельные кодовые базы. Максимум возможностей и плавности, но и вдвое больше работы.

Есть ещё обёртки вроде Capacitor: сайт внутри оболочки приложения. Это рабочий путь, если внутри действительно приложение, а не копия сайта, — иначе магазин может отклонить его как «просто сайт».

## Когда PWA хватает

PWA подходит, если твой продукт — в основном формы, списки и контент, а люди открывают его по ссылке, из письма или с компьютера. Админки, B2B-инструменты, кабинеты, сервисы, куда заходят раз в неделю, — здесь PWA даёт почти всё, а магазины добавляют только бюрократию.

Плюсы для MVP ощутимые: ты уже умеешь деплоить сайт, правка доходит до всех за минуту, оплату цифровых товаров можно принимать обычным платёжным провайдером.

## Где у PWA потолок

Ограничения в основном на iPhone, и о них лучше знать заранее:

- уведомления на iOS работают только у тех, кто добавил сайт на главный экран, а это нужно объяснять руками;
- нет витрины в App Store — люди, которые ищут приложения только там, тебя не найдут;
- фоновая работа ограничена: ни трекинга геолокации в фоне, ни долгих загрузок после закрытия;
- часть железа недоступна или доступна не везде — Bluetooth, NFC, некоторые датчики;
- «установленное приложение» для многих людей — то, что пришло из магазина, а не иконка из браузера.

## Когда брать React Native или Flutter

Если продукт живёт на телефоне — им пользуются каждый день, ему нужны надёжные уведомления, камера, геолокация, офлайн, — кроссплатформенный фреймворк обычно лучший выбор для MVP. Одна команда, одна кодовая база, два магазина.

Если твой веб-MVP собран на React, React Native (особенно с Expo) будет ближе по духу: тот же язык, похожие компоненты, часть логики можно переиспользовать. Flutter — отдельный мир со своим языком Dart, но с очень предсказуемым интерфейсом на обеих платформах. Выбирай то, что команда реально будет поддерживать, а не то, что выиграло в чьём-то сравнении.

## Когда нужен натив

Чисто нативная разработка оправдана, когда продукт упирается в возможности платформы: сложная работа с камерой и видео, аудио в реальном времени, виджеты и интеграции с системой, тяжёлая графика, требования к плавности на слабых устройствах. Для большинства MVP это не так, и две кодовые базы на старте — способ тратить вдвое больше на каждую гипотезу.

## Когда переходить с одного на другое

Хороший путь для многих продуктов: веб и PWA сначала, приложение — когда есть сигнал. Сигналы такие:

- пользователи сами спрашивают, где приложение, и не находят тебя в магазине;
- удержание упирается в то, что люди забывают вернуться, а уведомления на iOS доходят до единиц;
- нужна функция, которую браузер не даёт;
- конкуренты получают заметную долю установок из поиска в магазинах.

Переход дешевле, если с самого начала держать бизнес-логику на сервере, а не в клиенте. Тогда новое приложение — это новый интерфейс к тому же API, а не перенос всего продукта.

## Коротко

- PWA — сайт, который ставится на экран; одна кодовая база и мгновенные обновления.
- Главные ограничения PWA — на iPhone: уведомления, фон, железо, отсутствие витрины в магазине.
- React Native или Flutter — разумный выбор для MVP, который живёт на телефоне.
- Натив нужен, когда продукт упирается в возможности платформы, а не по умолчанию.
- Логика на сервере делает любой будущий переход дешевле.

Если не уверен, какой вариант подходит твоему продукту, SUBXCAT может помочь решить это до того, как код будет написан дважды.
