EN Прислать проект
Все статьи

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

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

· 4 минМобильныеОсновы

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 может помочь решить это до того, как код будет написан дважды.

Хочешь, сделаем это за тебя?

Расскажи о проекте ассистенту — через пять минут будет примерная смета, через 48 часов разбор.

Созвон с командой 20 минут: инженер, дизайнер и маркетолог посмотрят на проект вместе с тобой.
Записаться на звонок