Перейти к содержимому
MagicGroup

Направление 03

Веб, мобильные приложения и расширения

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

Среды

Три среды, один продукт

У каждой среды свои ограничения — они и определяют, что в ней делать можно, а что придётся оставить другой.

  • Web

    Веб-платформа

    Ядро продукта: каталог, личный кабинет, админка и публичные страницы под поиск. Единственная среда, куда приходит поисковый трафик, поэтому здесь важны серверный рендеринг и скорость первого экрана.

    • Публичные страницы под поиск и LLM-ответы
    • Личный кабинет и админка
    • Обновление без релизного цикла магазинов
  • iOS · Android

    Мобильные приложения

    Поверх того же API. Дают то, чего нет у веба: пуш-уведомления, работу при плохой связи, нативные платежи и биометрию. Взамен требуют прохождения ревью магазинов на каждое обновление.

    • Пуши и возврат пользователя в продукт
    • Офлайн-состояние и синхронизация
    • Нативные платежи и биометрия
  • Extension

    Браузерное расширение

    Точка контакта прямо на сайте партнёра — там, где пользователь принимает решение о покупке. Живёт по правилам магазинов расширений и жёстким ограничениям безопасности браузера.

    • Подсказка предложения в момент покупки
    • Активация и трекинг перехода
    • Работа в рамках прав, выданных браузером

Ядро

Что обязано быть общим

Когда среды расходятся, расходятся не интерфейсы, а данные. Список ниже — то, что нельзя дублировать в каждой среде отдельно.

  • API и модель данных

    Один контракт на все среды. Расширение и приложение не должны узнавать про новое поле из релиз-ноутов веба.

  • Правила и расчёты

    Ставки, скидки, начисления и лимиты живут на сервере. Логика, продублированная в клиенте, расходится с сервером на второй же итерации.

  • Аутентификация и состояние

    Один вход и один профиль. Пользователь, вошедший в приложении, остаётся собой в расширении.

  • Аналитика и события

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

Вопросы

О продуктовой разработке

Нет нужного ответа

Опишите продукт — подскажем состав сред

Написать
  • 01

    С чего начинать, если нужны и сайт, и приложение, и расширение?

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

  • 02

    Нативная разработка или кроссплатформенная?

    Зависит от того, что в приложении главное. Кроссплатформенное решение экономит время, когда приложение в основном показывает данные и работает с формами. Нативная разработка нужна там, где требуется тесная работа с платформой: фоновые процессы, сложная работа с камерой или картами, специфические платёжные сценарии. Решение принимается на этапе архитектуры, а не по умолчанию.

  • 03

    Зачем продукту браузерное расширение?

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

  • 04

    Как выкатываются обновления в трёх средах одновременно?

    Через версионирование API и постепенное включение функций. Веб обновляется сразу, приложения проходят ревью магазинов и обновляются у пользователей неравномерно, расширение — по своему циклу. Поэтому сервер обязан поддерживать несколько версий клиентов одновременно, а новая функциональность включается флагом, а не датой релиза.

Дальше

Соберём продукт целиком

Напишите, что за продукт и в каких средах он должен жить. Разберём, что делать в первую очередь, а что можно отложить без потери смысла.