Мини-приложения MAX — создание веб-приложений в мессенджере | Мои друзья
Открыть в MAX

Мини-приложения

Мини-приложения (или веб-приложения) в MAX — это, на мой взгляд, одна из самых мощных фич платформы. По сути, это полноценные веб-приложения, которые запускаются прямо внутри мессенджера. Я пока не делал мини-приложение для «Мои друзья», но активно изучаю эту тему — и сейчас расскажу, что к чему.

Что такое мини-приложения?

Мини-приложение — это iframe с твоим веб-приложением, который открывается внутри MAX. Пользователь не переходит в браузер и не устанавливает отдельное приложение — всё происходит внутри мессенджера.

Технически это обычная веб-страница: HTML, CSS и JavaScript. Никаких специфических фреймворков не требуется (хотя React, Vue или Svelte отлично подходят). MAX предоставляет библиотеку MAX Bridge для взаимодействия с API мессенджера и библиотеку MAX UI для нативных компонентов интерфейса.

Преимущества мини-приложений

Почему я считаю мини-приложения крутой идеей:

Не нужно дорабатывать под платформы

Ты пишешь один код на HTML/JS/CSS — и он работает везде, где работает MAX: на Android, iOS, в веб-версии. Не нужно выпускать отдельные билды для Google Play и App Store. Один коммит — и обновление сразу у всех пользователей.

Не нужна модерация в сторах

Никакого App Review и Google Play Review. Твоё мини-приложение проходит модерацию один раз при размещении на платформе MAX — и всё. Никаких «мы отклонили ваше обновление из-за пункта 4.2.6». Это экономит недели нервов.

💡 Мой опыт: Когда я делал обычное мобильное приложение, модерация в App Store заняла 8 дней и два раунда правок. С мини-приложениями в MAX — одна модерация, и ты в доступе у всех пользователей мессенджера.

Доступ к данным MAX

Через MAX Bridge мини-приложение получает доступ к:

  • Профилю пользователя (имя, аватар, язык)
  • Теме оформления (светлая/тёмная — подстраивай интерфейс автоматически)
  • Платформенным данным (версия MAX, устройство)

Пользователю не нужно регистрироваться заново — он уже авторизован в MAX, и приложение получает его данные.

Технологии

Мини-приложения MAX строятся на трёх китах:

HTML/JS/CSS

Никаких ограничений по фреймворкам. Хочешь — пиши на чистом JavaScript. Хочешь — бери React, Vue, Angular, Svelte, да хоть jQuery. Всё, что работает в WebView, работает в MAX.

MAX Bridge

Это JavaScript-библиотека, которая связывает твоё веб-приложение с нативными функциями MAX. Через Bridge ты можешь:

  • Получать данные пользователя
  • Отправлять данные в чат (например, результат игры)
  • Закрывать мини-приложение
  • Получать initData для валидации на сервере

Подробнее — в разделе MAX Bridge.

MAX UI

Библиотека готовых UI-компонентов в стиле MAX. Кнопки, модальные окна, списки, формы — все в одном дизайн-коде с мессенджером. Пользователь даже не заметит, что вышел за пределы нативного интерфейса.

index.html
<!-- Минимальная структура мини-приложения MAX -->
<!doctype html>
<html>
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script src="https://max.ru/js/bridge.js"></script>
    <link rel="stylesheet" href="https://max.ru/js/ui.css" />
</head>
<body>
    <div id="app">
        <h1>Привет, <span id="username"></span>!</h1>
    </div>
    <script>
        // Инициализация MAX Bridge
        const bridge = new MaxBridge();
        bridge.init().then(data => {
            document.getElementById('username').textContent = data.user.first_name;
        });
    </script>
</body>
</html>
⚠️ Важно: Всегда проверяй initData на своём сервере. Не доверяй данным с клиента — их можно подделать. Подробнее о валидации — в разделе «Валидация данных».

Что дальше?

Теперь, когда ты понимаешь, что такое мини-приложения, переходи к MAX Bridge — там я разбираю, как взаимодействовать с мессенджером из твоего веб-приложения.

🛠️

Готов попробовать мини-приложения?

Посмотри на практике, как работает бот «Мои друзья». Это поможет понять, что можно реализовать в MAX без мини-приложений, а для чего стоит написать своё веб-приложение.

Открыть бота «Мои друзья»