веб-приложения 2020
Часть 2
Распространение
Android
WebAPK использует облачный сервис для мгновенного создания APK (архивного исполняемого файла-приложения для Android) и его подписи криптографическим ключом, поэтому устройство Android устанавливает приложение без вывода сообщений, и оно выглядит как любое другое встроенное приложение.
У Samsung есть собственный метод WebAPK, доступный только на устройствах Samsung с установленным Galaxy Store (поскольку они также управляют ОС и браузером). Другие браузеры вроде Firefox, Brave или Edge не могут использовать этот способ из-за необходимости криптоподписей приложения на уровне ОС — из-за этого PWA, установленные из этих браузеров, могут не появляться в панели запуска, а иконки на главном экране будут иметь значок конкретного браузера.
Распространение в магазинах приложений
Google Play Store и Chrome по-тихому стали принимать PWA в свои магазины приложений. WebView при этом не используется, и тот же механизм Chrome (и, возможно, других браузеров) будет отображать приложение из магазина, включая совместное использование всех хранилищ и файлов cookie. Это возможно за счёт опции TWA — Trusted Web Activities. Вместо публикации URL-адреса вам нужно опубликовать PWA Launcher (фактически обернуть PWA в TWA). PWA Launcher — приложение, которое открывает браузер в автономном режиме и отображает URL-адрес PWA.
TWA основан на открытом протоколе Custom Tabs (переименован в библиотеку браузеров Android Helper). Другие браузеры вроде Firefox и Samsung Internet скоро добавят поддержку TWA (уже доступна в Firefox Preview). Это означает, что пользователь сможет изменить движок (браузер), который хочет использовать для PWA, из Play Store.
Поисковая индексация
Is the Microsoft Store PWA automatic crawl and publish idea a failed project?
— Maximiliano Firtman (@firt) October 17, 2018
After six months only 30 PWAs are published; most of them are not PWAs now on other browsers, and a lot of them have deficient quality while a lot of good PWAs out there are not in the list. pic.twitter.com/oNvvDc1Vzp
Для корпоративных клиентов
Со стороны Apple у нас есть файл Mobile Configuration, принятый iOS и iPadOS. Его можно создать, используя Apple Configurator 2, а сам файл будет включать Web Clips (иконки на главном экране). За иконкой будет прятаться URL-адрес и интерфейс, который и будет установленным PWA. Файл можно подписать криптографически или распространить без подписи. Если пользователь iOS/iPadOS примет его, то увидит значок PWA на главном экране.
Возможности
Империя Chromium
Вот почему в рамках этой экосистемы вы найдете лучшие возможности, включая дополнительные механизмы фонового выполнения, доступ к оборудованию и платформе (такие как Контакты, WebNFC, контекстные меню для PWA, перечень экранов, режим приложения с вкладками, размещение приложения в окне). И конечно, те, что уже есть — WebAssembly, WebRTC, WebPush, WebAuthn, WebShare, WebXR, RequestPayment и т. д.
Есть ряд функций, которые развиваются в другом темпе — похоже, это связано с внутренней борьбой между Android/Play Store и Chrome в Google. Среди них: эволюция TWA, установка значка в омнибоксе или долгая история с поддержкой иконок на Android 8+. На десктопе Chrome, кажется, развивается быстрее.
Королевство WebKit
Edge на краю света
Дизайн
В 2019 были актуальны три концепции, которые повлияют на дизайн PWA:
- Темные темы.
- Складные устройства.
- Технология Maskable icons.
Темная тема
Here's something special with PWAs on iOS 13, dark mode splash screens! I think this is the only benefit of having HTML link tags with media attrs for PWA launch images on iOS ????
— Önder Ceylan ???? (@onderceylan) October 26, 2019
This is currently possible w https://t.co/ycBYqj8abq #pwa #ios #darkmode #GDESummit2019 pic.twitter.com/mL0pRbZz6k
Складные устройства
Технология Maskable icons
And we REALLY need maskable implemented soon, look how silly PWA icons look on Q pic.twitter.com/lE7MDP7eVi
— KΞNNΞTH C.⚡ (@kennethrohde) June 9, 2019
Инструменты
Генераторы Launcher-ов для сторов
PWA Builder
Технология Maskable icons
Lighthouse
A strong statement that @____lighthouse considers iOS a valid PWA platform, apart from Android: there’s finally a test for Apple Touch Icon presence: https://t.co/bcfYvKQwcc ???? (CC: @firt)
— Thomas Steiner (@tomayac) July 23, 2019
Also more great features in “What's New In DevTools (Chrome 77)”: https://t.co/llohncivAq
I will add to this that if you are developing a PWA there is no professional reason not to provide at least an icon for iOS, even if you don't like how Apple implements the feature. Your users don't know and shouldn't care about browsers politics ???? https://t.co/aixMEYzGp5
— Maximiliano Firtman (@firt) May 3, 2019