Экраны
На каждую задачу — свой экран
Переводы, фильтры, аналитика, бюджеты, рекомендации. У каждого свой маршрут.
AppSana понимает задачу и в режиме реального времени собирает интерфейс из вашей дизайн-системы: из виджетов, инструментов и действий, которые в приложении уже есть.
Человеку не нужно привыкать к приложению. Приложение подстраивается под него.
Live Demo
Это демо суперприложения: баннеры, сервисы, карты, переводы и товары. Скажите «хочу купить» или «сделать перевод» — нужные блоки окажутся наверху.
Проблема
В рабочем приложении уже есть экраны, API, логика и дизайн-система. Каждая новая задача всё равно превращается в ещё один экран, ещё один пункт меню и ещё один случай, который надо поддерживать. Продукт умеет больше — и пользоваться им становится труднее.
Экраны
Переводы, фильтры, аналитика, бюджеты, рекомендации. У каждого свой маршрут.
Навигация
Короткий путь к результату редко совпадает с тем, как устроено меню.
Поддержка
Новые состояния, новые исключения и новая работа дизайна с разработкой — каждый раз, когда появляется новая задача.
Что уже есть
API и виджеты уже написаны. Человек всё равно собирает путь по экранам сам.
Другой подход
Обычно продукт превращает задачу в маршрут по меню. AppSana берёт ту же задачу и собирает экран из виджетов, инструментов и действий, которые у вас уже есть.
КАК СЕЙЧАС
Экраны заданы заранее. Сценарии тоже. Чтобы что-то сделать, нужно выучить, как у вас всё разложено.
С APPSANA
Есть задача и то, что приложение уже знает на устройстве. SDK вызывает ваши инструменты, а экран собирается из виджетов, которые нужны сейчас.
Контекст
AppSana не придумывает возможности, которых в приложении нет. Приложение само вызывает свои инструменты, а наверх поднимаются виджеты из вашей дизайн-системы. Так экран понимает, что показать первым.
БАНК
Если есть неоплаченный счёт, не нужно ждать, пока человек сам откроет «Платежи». Наверх встаёт виджет оплаты: сумма, срок и кнопка, которую вы уже сделали.
get_balance_due → виджет оплаты наверх
ПУТЕШЕСТВИЯ
Если человек летит сегодня, главная — не витрина туров. На ней выход, место и время посадки. Виджеты те же, что уже есть в приложении.
get_todays_trip → посадочный талон
Безопасность
AppSana отправляет устройство экрана, а не секреты. Модель видит форму JSON-дерева, список ваших инструментов, действия SDK и виджеты дизайн-системы. В ответ приходят инструкции: что передвинуть и какой инструмент вызвать. Балансы, номера карт, билеты и данные пользователя остаются в приложении. На серверы AppSana и в модель они не попадают.
ЧТО ВИДИТ МОДЕЛЬ
ЧТО ОСТАЁТСЯ В ПРИЛОЖЕНИИ
Свой экран
Такие интерфейсы только появляются. Большинство приложений по-прежнему показывают всем одну раскладку и ждут следующего релиза, чтобы закрыть следующую задачу. С AppSana человек может закрепить переводы, спрятать карты, поднять путешествия или собрать свой экран из ваших виджетов — без отдельного экрана настроек на каждое желание.
Это преимущество продукта, а не смена темы. Команды, которые сделают это раньше, закроют больше задач внутри уже существующего приложения и уйдут вперёд тех, кто продолжает добавлять вкладки.
Закрепить переводы, спрятать карты, поднять путешествия. Главный экран совпадает с тем, как человек реально пользуется приложением.
Каждый блок по-прежнему из дизайн-системы, которую вы уже выпустили. Меняется порядок, а не внешний вид.
Конкуренты, скорее всего, выпустят ещё один экран. Вы можете дать людям собрать приложение вокруг своих задач.
Как это работает
Что продукт умеет, по-прежнему решаете вы. AppSana стоит между текущим экраном и моделью и говорит SDK, какие виджеты показать и какие ваши инструменты вызвать.
ЧТО ДАЁТЕ ВЫ
Библиотека виджетов
Экраны и компоненты, которые вы уже спроектировали, вместе с контрактами дизайн-системы.
Инструменты и действия
То, что приложение умеет на самом деле: узнать долг, сегодняшний рейс, начать перевод. Вызывает приложение, не модель.
Устройство экрана
Текущее дерево виджетов в виде JSON. Модель видит типы и id, а не личные данные.
ЧТО ДЕЛАЕТ APPSANA
Понимает задачу
Смотрит запрос рядом с текущим экраном, доступными виджетами и схемами инструментов.
Выбирает инструменты
Решает, что вызвать. Код, которого в приложении нет, запустить нельзя.
Меняет экран
Говорит SDK, что сделать: передвинуть виджет, скрыть блок или поставить посадочный наверх.
SDK
Вставьте BduiView в любой Compose-экран: на весь экран, во вкладку, в карточку или рядом с вашими виджетами. Приложение рисует их само, вызывает инструменты и применяет то, что вернул AppSana. Что продукт умеет, по-прежнему определяет ваш код.
Bdui.init(
BduiConfig {
httpClient = appHttpClient
appsana = BduiAppsana(
url = "https://appsana-platform.vercel.app/api/bdui",
apiKey = appsanaApiKey,
applicationId = applicationId,
)
},
)
@Composable
fun HomeScreen() {
BduiView(
initialJson = homeJson,
modifier = Modifier.fillMaxSize(),
)
}
BduiAppsanaClient(config, runtime)
.transform("Show my boarding pass")Кому это нужно
CTO, руководителям мобильной разработки и продактам, у которых уже сотни экранов, API и устоявшиеся сценарии. AppSana — слой поверх того, что уже сделано: банки, магазины, маркетплейсы, путешествия, связь и суперприложения.
Финтех
“Покажи, куда ушли деньги.”
Долг, траты по категориям и перевод, который человек правда может отправить. Один экран, а не пять переходов.
Магазин
“Собери всё для поездки на выходные до 150 000 ₸.”
Каталог, корзина и лимит, которые в приложении уже есть, собранные вокруг поездки, а не вокруг строки поиска.
Путешествия
“Мне нужно домой завтра утром, с минимумом пересадок.”
Поиск и бронирование, которыми вы уже управляете, под это условие. Если рейс сегодня — ещё и посадочный.
Доставка еды
“Сегодня вечером нас восемь. Помоги заказать ужин.”
Рестораны, размер компании, ограничения по еде и оплата. Одна задача, а не долгое листание ленты.
Связь
“Интернет тормозит. Проверь тариф и помоги починить.”
Тариф, диагностика и те действия поддержки, которые приложение уже умеет.
Маркетплейсы
“Нужен сантехник, который приедет сегодня.”
Поиск, оценки, свободные окна и запись. Всё, что на площадке уже есть, собрано вокруг срочности.
Откройте виджеты, инструменты и действия. Экран под конкретный момент соберётся из дизайн-системы, которой вы уже доверяете.