Открыть сервис

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 система проверяет, что веб-сайт и приложение связаны, и только после этого загружает контент. Если проверка не пройдена, контент открывается в обычном браузере с адресной строкой.

Жизненный цикл

  1. Пользователь открывает приложение, которое содержит TWA.
  2. Приложение проверяет наличие Digital Asset Links на целевом веб-сайте.
  3. Если проверка успешна, запускается браузер (Chrome, Edge или другой поддерживающий) в режиме TWA.
  4. Веб-контент отображается в полноэкранном режиме, без элементов управления браузером.
  5. Приложение может обрабатывать навигацию, используя механизм 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.

Источники

  1. Google Developers. "Trusted Web Activity." Документация для разработчиков Android.
  2. Google I/O 2017. "Progressive Web Apps and Trusted Web Activity." Презентация конференции.
  3. Microsoft Edge Blog. "Trusted Web Activity support in Microsoft Edge." 2020.
  4. Android Developers. "Digital Asset Links." Документация по связыванию приложений и веб-сайтов.
  5. Статья "Trusted Web Activity: A Deep Dive" на сайте Medium. 2021.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →