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

Мини-приложения — это небольшие (обычно 2–4 МБ ) приложения, для запуска которых требуется суперприложение . Что у них общего, независимо от суперприложения, так это то, что они созданы с использованием («диалектов») веб-технологий HTML, CSS и JavaScript. Средой выполнения мини-приложения является WebView в суперприложении, а не в базовой операционной системе, что делает мини-приложения кроссплатформенными. Одно и то же мини-приложение может работать в одном и том же суперприложении, независимо от того, работает ли суперприложение на Android, iOS или другой ОС. Однако не все мини-приложения могут работать во всех суперприложениях, подробнее об этом позже .

Открытие

Мини-приложения часто обнаруживаются по фирменным 2D-штрих-кодам, что решает важную проблему перехода из оффлайна в онлайн, например, переход от физического меню ресторана к платежному мини-приложению или от физического электронного скутера к арендованному мини-приложению. приложение. На изображении ниже показан пример такого фирменного 2D-штрих-кода для демонстрационного мини-приложения WeChat . Когда код сканируется с помощью суперприложения WeChat, мини-приложение запускается напрямую. Другие суперприложения обычно не смогут распознать штрих-код.

2D-штрих-код под брендом WeChat.
Сканирование этого 2D-штрих-кода с помощью приложения WeChat запускает демонстрационное мини-приложение.

Мини-приложения также можно найти с помощью обычного поиска в суперприложении, поделиться ими в сообщениях чата или стать частью новости в ленте новостей. Некоторые суперприложения имеют понятие проверенных учетных записей, которые могут содержать мини-приложения в своих профилях. Мини-приложения могут быть выделены, когда они физически географически близки, например мини-приложение компании, перед которой стоит пользователь, или практически близко, например, когда пользователь прокладывает маршрут на карте, показанной в суперприложении. Часто используемые мини-приложения доступны в панели приложений, доступ к которой во многих суперприложениях можно получить с помощью жеста смахивания вниз или через специальный раздел в меню суперприложений.

Пользовательский опыт

Все суперприложения имеют более или менее одинаковый пользовательский интерфейс для мини-приложений. Темируемая верхняя панель с названием мини-приложения и в верхнем углу экрана кнопка закрытия в крайнем правом углу, которой предшествует меню действий, обеспечивающее доступ к общим функциям, таким как общий доступ к приложению, добавление его в список избранного или главный экран, сообщение о неправомерных приложениях, предоставление отзывов и настроек. На снимке экрана ниже показано мини-приложение для покупок, работающее в контексте суперприложения Alipay, с открытым меню действий.

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

Парадигмы пользовательского интерфейса

Обычно для основной навигации мини-приложения имеется нижняя панель вкладок. Большинство поставщиков суперприложений предлагают компоненты , которые помогают разработчикам быстро реализовать общие парадигмы пользовательского интерфейса, такие как карусели, аккордеоны, индикаторы выполнения, счетчики, переключатели, карты и т. д. Это также помогает обеспечить единообразие взаимодействия пользователя с различными мини-приложениями, что поощряется Руководством по разработке мини-программ WeChat . Это похоже на то, что Apple стимулирует своими рекомендациями по пользовательскому интерфейсу Apple и Google своими рекомендациями по дизайну для Android .

Демонстрационное мини-приложение Douyin, демонстрирующее компонент слайдера (карусели) Douyin с переключателями для автоматического продвижения, точечными индикаторами и т. д.
Компонент слайдера (карусели) Douyin с различными опциями.

Обслуживание

Вместо того, чтобы предоставляться по частям как отдельные ресурсы, мини-приложения предоставляются как зашифрованные упакованные приложения, то есть как архивы, содержащие все ресурсы в одном файле. В отличие от обычных веб-приложений, они также обслуживаются не конкретным источником создателя мини-приложения, а напрямую поставщиком суперприложения. Они по-прежнему могут получать доступ к API с серверов создателя мини-приложения, но основные ресурсы (обычно называемые оболочкой приложения) должны обслуживаться поставщиком суперприложения. Мини-приложения должны указывать источники, у которых они запрашивают дополнительные данные.

Кэширование, обновления и глубокие ссылки

Мини-приложения хранятся в кеше суперприложения, поэтому в следующий раз, когда пользователь запускает кэшированное мини-приложение, оно загружается практически мгновенно. Если есть обновление, загружается новый пакет приложения. Номер версии может быть частью URI запуска (см. Обнаружение ), поэтому суперприложение заранее узнает, актуальна ли локально кэшированная версия. URI запуска также может содержать нужную страницу мини-приложения, поэтому возможна глубокая связь с конкретными страницами мини-приложений. С помощью карты сайта мини-приложения могут объявить, какие из их страниц должны быть проиндексированы сканером мини-приложений поставщика суперприложений.

Finder macOS показывает папку, содержащую кэшированные файлы мини-приложения WeChat `.wxapkg`.
Мини-приложения кэшируются как зашифрованные упакованные приложения.

Безопасность и разрешения

Мини-приложения проверяются поставщиком суперприложений, а это означает, что пользователи считают их более безопасными, чем веб-приложения. Им необходимо заранее объявить свои потенциально необходимые разрешения в манифесте или файле конфигурации мини-приложения, что для некоторых поставщиков также требует объяснения того, почему необходимо каждое разрешение. Мини-приложения, конечно, все еще могут лгать, но им будет сложно обосновать, почему они, например, пытаются получить доступ к датчикам движения без причины, очевидной для пользователя. Стимул к снятию отпечатков пальцев пользователя значительно ниже по сравнению с Интернетом, поскольку пользователь, как правило, все равно уже вошел в суперприложение (см. Идентификация, платежи и социальный график ).

Всякий раз, когда мини-приложение выполняет операцию, требующую специального разрешения, пользователю отображается запрос, который, если он предусмотрен платформой, также включает обоснование использования, как указано разработчиком. На снимке экрана ниже показано демонстрационное мини-приложение Douyin , которое запрашивает у пользователя разрешение поделиться своим местоположением. В некоторых суперприложениях также есть императивный API, который мини-приложения могут использовать для запроса разрешений без их немедленного использования или только для проверки статуса разрешения. Это может даже включать API для открытия центральных настроек разрешений суперприложений, что соответствует настройкам сайта Chrome . Мини-приложения также должны заранее объявлять происхождение всех серверов, с которых они потенциально будут запрашивать данные.

Демонстрационное мини-приложение Douyin показывает подсказку геолокации с двумя вариантами: «Не разрешено» и «Разрешено».
Демонстрационное мини-приложение Douyin запрашивает разрешение на геолокацию.

Доступ к мощным функциям

Суперприложение хостинга предлагает доступ к мощным API через мост JavaScript, который внедряется в WebView, предлагаемый суперприложением (см. Строительные блоки и совместимость ). Этот мост JavaScript обеспечивает подключение к API операционной системы. Например, функция JavaScript мини-приложения, такая как getConnectedWifi() (возможность мини-приложения получать имя текущей активной сети Wi-Fi), реализуется через API getConnectionInfo() в Android или API CNCopyCurrentNetworkInfo() в iOS. . Другими примерами мощных API-интерфейсов устройств, представленных в обычных суперприложениях, являются Bluetooth, NFC, iBeacon, GPS, системный буфер обмена, датчики ориентации, информация о батарее, доступ к календарю, доступ к телефонной книге, управление яркостью экрана, доступ к файловой системе, виброоборудование для физической обратной связи, камера. доступ к микрофону, запись экрана и создание снимков экрана, состояние сети, сокеты UDP, сканирование штрих-кода, информация о памяти устройства и многое другое.

Демонстрационное мини-приложение WeChat, показывающее ползунок, управляющий яркостью экрана устройства, выдвинутым на максимум.
Демо-мини-приложение WeChat, устанавливающее максимальную яркость экрана устройства.

Доступ к облачным сервисам

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

Айдентика, оплата, социальный граф

Очень важной особенностью мини-приложений является информация об личности и социальных сетях, которая передается из суперприложения. Суперприложения, такие как Douyin или WeChat, начинались как сайты социальных сетей в самом широком смысле, где у пользователей есть (иногда даже подтвержденная правительством) личность, сеть друзей или подписчиков, а часто также хранятся платежные данные. Например, мини-приложение для покупок может (а иногда даже должно) обрабатывать любые платежи непосредственно через платежные API суперприложения и, с согласия пользователя, может получать пользовательские данные, такие как адрес доставки, номер телефона и полное имя, и все это без каких-либо ограничений. когда-либо приходилось заставлять пользователя мучительно заполнять формы. Ниже вы можете увидеть мини-приложение Walmart, работающее в WeChat, открытое в первый раз и приветствующее меня знакомым лицом.

Мини-приложение Walmart, показывающее лицо и имя автора на вкладке «Я».
Мини-приложение Walmart с персонализированным представлением «Я» при первом посещении.

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

Благодарности

Рецензии на эту статью написали Джо Медли , Кейси Баскис , Милица Михайлия , Алан Кент и Кейт Гу.