PWA в бета-версии iOS 14: незначительные изменения

Опубликовано: 2020-09-04

Оглавление

Это снова то время, когда мы исследуем все изменения в последней версии iOS — iOS 14 Beta 6 — и обсуждаем с вами, что изменилось, что нового в состоянии принятия PWA на iOS. Как видно из нашей последней статьи о PWA iOS 13, в последней версии было много хороших новостей, и похоже, что Apple становится более дружественной к PWA. Но продолжают ли они темпы внедрения PWA или вообще отказываются от PWA, опасаясь потерять доходы от приложений? Ну, это то, что мы здесь, чтобы выяснить.

Примечания к выпуску

Вот некоторые из важных изменений, которые, как мы знаем , появятся в Safari в этой новой версии (некоторые несущественные части были опущены):

  • Поддержка веб-расширений Safari в macOS.
  • Поддержка HTTP/3.
  • Улучшена скорость прохождения тестов веб-платформы для WebDriver, XHR+Fetch, Service Workers, CSS и SVG.
  • Включена полная блокировка сторонних файлов cookie и API доступа к хранилищу в режиме приватного просмотра.
  • Удалена поддержка Flash.
  • Добавлен аутентификатор платформы веб-аутентификации с использованием Face ID или Touch ID, в зависимости от того, какая возможность присутствует.

Мы можем сказать, о чем вы думаете — не такие уж значительные изменения, не так ли? Что ж, оказывается, в PWA iOS 14 есть нечто большее, чем кажется на первый взгляд.

Копаем больше в этом

Это та часть, когда мы углубимся в операционную систему и узнаем о текущем состоянии PWA в iOS 14, в том числе об изменениях и улучшениях PWA, а также о том, чего нам ожидать, когда iOS 14 выйдет в глобальном стабильном выпуске.

Товар

Первый признак Service Worker

В этом обновлении есть новая функция WebKit, которая называется « Домены, привязанные к приложению» , и с ее включением API рабочих служб можно включить на связанных доменах. Хотя нет официальной документации относительно того, что мы можем ожидать от сервис-воркеров, а также нет никаких подтверждений того, останется ли эта функция, мы считаем, что это все еще очень многообещающая новость для энтузиастов PWA.

Домены, привязанные к приложению

Эта новая функция дает разработчикам возможность ограничить навигацию в приложении несколькими доменами и, в свою очередь, гарантировать большую безопасность для конечных пользователей. Эти «привязанные к приложению» домены указаны в файле WKAppBoundDomains info.plist например:

 <plist версия="1.0">
<дикт>
<key>WKAppBoundDomains</key>
<массив>
    <string>example1.com</string>
    <string>example2.org</string>
    ...
</массив>
</дикт>

Теперь, когда домены, привязанные к приложениям, включены, мы можем зарегистрировать сервис-воркеров:

Сервисный работник в iOS 14
Изображение предоставлено Максимилиано Фиртманом.

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

Возьмем, к примеру, Cache Storage — определяющую особенность сервис-воркеров. Его нигде нельзя найти в разделе «Хранилище» в Safari DevTools и в регистрации сервис-воркера, если процитировать опытных разработчиков, проделавших основную работу: «не используется совместно с Safari, веб-приложениями на главном экране или другими приложениями, использующими WKWebView и привязанные домены приложений. по одному и тому же происхождению».

Хотя у нас еще нет полной картины, тот факт, что Service Worker есть в iOS, по-прежнему является поводом для радости, и мы можем только надеяться, что стабильная версия даст нам более полную картину.

Новая поддержка TouchID и FaceID

Недавно представленные на Всемирной конференции разработчиков Apple (WWDC), Touch ID и Face ID теперь наконец доступны в Safari через API WebAuthn. При интеграции эти функции обеспечат бесперебойную работу вашего PWA и, в свою очередь, улучшат взаимодействие с пользователем.

Touch ID и Face ID в Интернете
Источник: WWDC

Возможность изменить браузер по умолчанию

Начиная с iOS 14 пользователи наконец-то могут выбирать разные браузеры по умолчанию . Это (своего рода) хороший шаг от Apple и хорошая новость для пользователей Apple во всем мире, поскольку раньше изменение приложений по умолчанию было просто невозможно. Но придержите пока свою лошадь, это не означает, что пользователи Apple могут извлечь выгоду из всех захватывающих функций, которые принесут различные движки веб-браузера — на самом деле, это все то же самое. Сторонние браузеры по-прежнему находятся под ограничением использования Apple WebKit в качестве основного механизма просмотра , а это означает, что, хотя ваши новые веб-браузеры по умолчанию могут выглядеть блестящими и разными снаружи, внутри ничего не меняется.

Изменение веб-браузера по умолчанию в бета-версии iOS 14
Вы можете изменить веб-браузер по умолчанию с новой iOS 14.

Геолокация для Интернета

Так что же с состоянием W3C Geolocation API в Safari? Ну, есть некоторые изменения, которые приводят к лучшему отслеживанию местоположения, но не являются прямым результатом каких-либо улучшений, внесенных в W3C Geolocation API. Странный? Мы знаем. Давайте углубимся в это:

Когда точное местоположение включено для каждого приложения в новой бета-версии iOS 14, мы можем заставить Safari отслеживать наше приблизительное местоположение:

Геолокация в бета-версии iOS 14

Приблизительное местоположение известно только ОС, и в процессе анализа этого нового поведения отслеживания местоположения в iOS никто не нашел однозначного ответа на вопрос, как новая iOS 14 Beta 6 передает приблизительное местоположение PWA. Но, глядя на данные до сих пор, это кажется многообещающим. Ниже приведен пример из работы Flirt, в которой Игуасу используется в качестве места отслеживания.

Геолокация в бета-версии iOS 14
Изображение предоставлено Максимилиано Фиртманом.

Как видите, API точно определяет и показывает местоположение объекта. Мы предполагаем, что этот впечатляющий результат как-то связан с грядущими изменениями в Core Location API, которые были продемонстрированы в этом видео WWDC2020.

App Clips — может быть, это хорошо

С помощью нового App Clip разработчики могут предоставить опыт, похожий на установку PWA, просто используя метатег:

 <meta name="apple-itunes-app" content="app-id=myAppStoreID, app-clip-bundle-id=appClipBundleID, partner-data=myAffiliateData, app-argument=myAppArgument">

Вы можете представить, что эта новая функция App Clip будет работать аналогично Instant App на Android, только в большей степени ориентирована на сканирование NFC и QR — и побуждает пользователей в конечном итоге устанавливать собственные приложения.

Клипы приложений в iOS
Новый способ связаться с людьми с помощью App Clips
[Источник: отдел новостей Apple]

Каков потенциал этой новой функции? Мы не знаем, но это может оказаться шагом к устанавливаемым PWA, которые у нас есть на Android.

Плохие

Новая галерея приложений, игнорирующая PWA

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

Библиотека приложений в iOS
PWA автоматически появляются в разделе Webclips в iOS Simulator.

На самом деле первые тестировщики обнаружили, что PWA игнорируются и вообще не отображаются в новой библиотеке приложений — будь то в группе « Недавно добавленные » или « Предложения ». Так что, хотя это может быть хорошо, что к PWA относятся так же, как и к нативным приложениям, это все же шокирующая новость для нас, поскольку мы не ожидали, что PWA будут просто игнорировать.

Без изменений в поддержке манифеста веб-приложения

Как и следовало ожидать, Apple не предпринимает никаких действий, чтобы настаивать на поддержке манифеста веб-приложения. Статус поддержки манифеста веб-приложения остается частично поддерживаемым , что означает отсутствие поддержки icons , minimal-ui , fullscreen , orientation или theme-color .

Поддержка манифеста веб-приложения в iOS
Манифест веб-приложения — частично поддерживается
Источник: Вебкит

Статус бар

Хотя было бы неплохо увидеть, как iOS принимает значение(я) из theme-color из манифеста веб-приложения, тем временем нам придется согласиться на меньшее. Начиная с бета-версии iOS 14 5 и выше, у нас больше не может быть белой строки состояния, и единственными допустимыми значениями являются black и black-translucent .

Строка состояния в iOS Beta 1–5
iOS 14 Beta 1 → 4 (вверху) и iOS Beta 5 (внизу)

Уроды

Основные функции по-прежнему не поддерживаются

Это большое обновление, но чего-то все еще не хватает. Скорее всего, это как-то связано с тем, что некоторые основные функции PWA по-прежнему не поддерживаются, и Apple почти не продвигает эти функции:

  • Веб-пуш
  • Фоновая синхронизация
  • Жизненный цикл страницы
  • Сервисные работники в WebViews (что означает отсутствие PWA в Chrome, Firefox, Instagram или Facebook, где просмотр веб-страниц не является основной целью)
  • Универсальные ссылки / Захват ссылок

Вывод

Как вы относитесь ко всем этим грядущим изменениям? Что касается нас, мы чувствуем, что остались с разочаровывающей нотой после рассмотрения всех изменений. Есть некоторые изменения — например, домены, привязанные к приложениям, геолокация, — которые кажутся шагом в правильном направлении, но Apple на самом деле не удосужилась добавить больше основных функций PWA в этом обновлении. И это имеет смысл, как мы полагаем, поскольку мы говорим здесь об Apple, о которой мы всегда знали, что она так непреклонна против Интернета.