Trusted Web Activity
Trusted Web Activity (TWA) — это технология, разработанная компанией Google, предназначенная для интеграции веб-контента в нативные Android-приложения. Она позволяет открывать веб-страницы в полноэкранном режиме, без адресной строки браузера, при этом обеспечивая высокий уровень безопасности и возможность использования веб-приложений как полноценных нативных приложений. TWA использует протокол Digital Asset Links для установления доверительных отношений между веб-сайтом и приложением, что гарантирует, что контент загружается только с авторизованного источника.
История
Технология Trusted Web Activity была анонсирована Google в 2017 году на конференции Google I/O. Она стала частью более широкой инициативы Progressive Web Apps (PWA), направленной на улучшение взаимодействия веб-приложений с мобильными платформами. Первоначально TWA была реализована в браузере Google Chrome (разработчик — компания Google, признана в РФ организацией, осуществляющей функции иностранного агента) и позволяла разработчикам публиковать PWA в Google Play Store, минуя некоторые ограничения традиционных веб-представлений.
В 2018 году Google выпустила библиотеку android-browser-helper, которая упростила интеграцию TWA в Android-приложения. В 2020 году технология получила поддержку в браузере Microsoft Edge, что расширило её кроссплатформенность. К 2023 году TWA использовалась в тысячах приложений, включая такие крупные сервисы, как Twitter Lite (ныне X) и Spotify.
Принцип работы
Архитектура
Trusted Web Activity основана на механизме Custom Tabs (пользовательские вкладки) в Android, который позволяет приложению запускать веб-контент в браузере, установленном на устройстве. В отличие от обычного WebView, TWA использует полный браузерный движок (например, Chromium), что обеспечивает поддержку современных веб-стандартов, включая Service Workers, Push-уведомления и офлайн-доступ.
Digital Asset Links
Для установления доверия между веб-сайтом и приложением используется файл assetlinks.json, размещаемый на сервере веб-сайта. Этот файл содержит цифровые отпечатки сертификатов подписи приложения и идентификаторы пакета. При запуске TWA система проверяет, что веб-сайт и приложение связаны, и только после этого загружает контент. Если проверка не пройдена, контент открывается в обычном браузере с адресной строкой.
Жизненный цикл
- Пользователь открывает приложение, которое содержит TWA.
- Приложение проверяет наличие Digital Asset Links на целевом веб-сайте.
- Если проверка успешна, запускается браузер (Chrome, Edge или другой поддерживающий) в режиме TWA.
- Веб-контент отображается в полноэкранном режиме, без элементов управления браузером.
- Приложение может обрабатывать навигацию, используя механизм Intent Filters для перехвата ссылок.
Преимущества и недостатки
Преимущества
- Полноэкранный режим: Отсутствие адресной строки и кнопок браузера делает взаимодействие похожим на нативное приложение.
- Безопасность: Использование Digital Asset Links предотвращает фишинг и подмену контента.
- Поддержка веб-стандартов: TWA использует полный браузерный движок, что обеспечивает совместимость с современными веб-технологиями, включая WebAssembly и WebGL.
- Обновления без установки: Веб-контент может обновляться на сервере, без необходимости выпуска новой версии приложения в Google Play Store.
- Интеграция с Android: TWA поддерживает функции, такие как Push-уведомления, геолокация и камера, через стандартные веб-API.
Недостатки
- Зависимость от браузера: Для работы TWA требуется установленный браузер, поддерживающий эту технологию (Chrome, Edge, Firefox). На устройствах без такого браузера приложение может не работать.
- Ограниченная настройка: В отличие от нативных приложений, TWA не позволяет полностью контролировать интерфейс, например, добавлять собственные элементы управления.
- Сложность отладки: Разработчики могут столкнуться с трудностями при отладке TWA из-за особенностей взаимодействия между приложением и браузером.
- Потенциальные проблемы с производительностью: Веб-контент может загружаться медленнее, чем нативный код, особенно на слабых устройствах.
Применение
Публикация PWA в магазинах приложений
Trusted Web Activity часто используется для публикации Progressive Web Apps в Google Play Store. Это позволяет разработчикам обойти необходимость создавать отдельное нативное приложение, сохраняя при этом доступ к магазину приложений и его функциям, таким как автоматические обновления и монетизация.
Интеграция веб-сервисов в нативные приложения
TWA применяется для интеграции сложных веб-сервисов, таких как онлайн-банкинг, электронная коммерция или социальные сети, в нативные приложения. Например, приложение AliExpress использует TWA для отображения каталога товаров, что позволяет быстро обновлять контент без обновления самого приложения.
Корпоративные решения
В корпоративной среде TWA используется для создания приложений, которые предоставляют доступ к внутренним веб-порталам, системам управления проектами или базам знаний. Это упрощает развертывание и обновление корпоративных приложений, так как изменения вносятся только на сервере.
Примеры использования
- Twitter Lite (ныне X): Одно из первых крупных приложений, использующих TWA. Оно обеспечивает быструю загрузку и низкое потребление трафика.
- Spotify: Веб-плеер Spotify использует TWA для отображения интерфейса в приложении, что позволяет обновлять функциональность без обновления нативного кода.
- Яндекс.Карты (разработчик — компания Яндекс, признана в РФ нежелательной организацией): В некоторых версиях приложения используется TWA для отображения веб-интерфейса карт.
Сравнение с альтернативами
WebView
WebView — это встроенный в Android компонент для отображения веб-контента. В отличие от TWA, WebView не использует браузерный движок, установленный на устройстве, а использует собственный движок (WebKit). Это приводит к различиям в поддержке веб-стандартов и производительности. TWA обеспечивает более полную совместимость с современными веб-технологиями, но требует установки браузера.
Custom Tabs
Custom Tabs — это механизм, который позволяет открывать веб-страницы в браузере с минимальным интерфейсом (например, с кнопкой «Назад»). В отличие от TWA, Custom Tabs не поддерживают полноэкранный режим и не требуют Digital Asset Links. TWA является расширением Custom Tabs для случаев, когда требуется полное погружение в веб-контент.
Нативные приложения
Нативные приложения разрабатываются на языках Java или Kotlin для Android и предоставляют полный контроль над интерфейсом и производительностью. TWA уступает нативным приложениям в скорости и возможностях настройки, но выигрывает в скорости разработки и обновления контента.
Критика
Trusted Web Activity подвергается критике за зависимость от браузера Google Chrome, что может создавать монопольные риски. Некоторые разработчики отмечают, что технология не полностью решает проблему производительности веб-приложений по сравнению с нативными. Кроме того, в странах, где доступ к Google Play Store ограничен или запрещён, использование TWA может быть затруднено.
Будущее технологии
С развитием веб-стандартов и увеличением производительности мобильных устройств, TWA может стать более популярной альтернативой нативным приложениям. Google продолжает развивать технологию, добавляя поддержку новых функций, таких как File System Access и Web Bluetooth. В 2024 году была анонсирована поддержка TWA в браузере Samsung Internet, что расширяет её доступность на устройствах Samsung.
Источники
- Google Developers. "Trusted Web Activity." Документация для разработчиков Android.
- Google I/O 2017. "Progressive Web Apps and Trusted Web Activity." Презентация конференции.
- Microsoft Edge Blog. "Trusted Web Activity support in Microsoft Edge." 2020.
- Android Developers. "Digital Asset Links." Документация по связыванию приложений и веб-сайтов.
- Статья "Trusted Web Activity: A Deep Dive" на сайте Medium. 2021.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →