Ещё немного underhood (подковёрных игр и того, как всё устроено под капотом на самом деле). 👇
Google сейчас довольно активно продвигает TWA (Trusted Web Activity).
На самом деле, TWA — это костыль, который решает 2 основные проблемы:
публикация в Google Play
интеграция в Google Android
И то, и другое — Google-only things, не имеющие ничего общего с открытым вебом.
Мне больше нравится подход Samsung:
“Introducing Progressive Web Apps to Samsung Galaxy Store” link.medium.com/tEhINGT200
магазин приложений Samsung Galaxy Store позволяет публиковать PWA "как есть" по URL без необходимости вообще что-то паковать:
twitter.com/samsunginterne…
Good job, @pwabuilder team! 👏 @MicrosoftStore What about publishing PWA without having to generate AppX at all, just by submitting the URL of web app manifest that contains all required metadata? 😉 twitter.com/pwabuilder/sta…
Надеюсь, Microsoft Store тоже пойдёт по такому же пути и разрешит публиковать PWA по URL. 🤞
twitter.com/alexey_rodiono…
Glad to see that @samsunginternet team have implemented the idea I proposed just 8 months ago! 🥳 twitter.com/alexey_rodiono… twitter.com/samsunginterne…
Кстати, эту идею в своё время команде Samsung Internet подкинул я:
twitter.com/alexey_rodiono…
WebAPKs coming to Samsung Internet @samsunginternet medium.com/samsung-intern… pic.twitter.com/NqVcNrfGhU
браузер Samsung Internet при установке PWA автоматически генерирует APK-файл, что также позволяет глубоко интегрироваться в ОС. Только это не TWA, а WebAPK:
twitter.com/kennethrohde/s…
Кстати, если вы вдруг не знали, установка PWA в Chrome на Android — это не просто добавление иконки на экран.
При установке браузер отправляет URL веб-манифеста PWA на так называемый minting server, и из Google Play на устройство в фоновом режиме устанавливается APK-файл, называемый WebAPK:
developers.google.com/web/fundamenta…
Вот только Google не даёт доступ к своему minting server другим браузерам.
Поэтому PWA в сторонних браузерах типа Firefox, Яндекс.Браузер, Edge, Opera и др. не будут работать на Android так же хорошо, как в Chrome.
Samsung Internet спасает то, что у Samsung вместо Google Play есть свой Galaxy Store, который и генерирует WebAPK.
Но работает это, разумеется, только на устройствах Samsung, где этот Galaxy Store есть.
Теоретически, по такому же пути могла бы пойти Xiaomi, у которой на Android тоже есть свой магазин приложений.
Вангую, что в будущем магазины приложений станут не нужны. Поисковики (тот же Google или Bing) станут магазинами (витринами) кроссплатформенных веб-приложений, то есть PWA. 😉
А пока для упаковки PWA в легковесные оболочки для публикации в магазинах приложений можно использовать онлайн-сервис PWABuilder, поддерживаемый командой Microsoft Edge:
pwabuilder.com
Кстати, под капотом для упаковки PWA в Android-приложение PWABuilder использует консольную утилиту Bubblewrap, поддерживаемую командой Google Chrome:
github.com/GoogleChromeLa…
Впервые идею создать генератор TWA из PWA команде Google Chrome предложил я:
github.com/GoogleChromeLa…