Site icon AppTractor

Progressive Web Apps пришли на iOS 🚀

В iOS 11.3 Apple незаметно добавила поддержку базового сета технологий Progressive Web Apps (PWA). Настало время посмотреть, как они работают, каковы их плюсы и минусы и что вам нужно знать, если у вас уже есть опубликованное PWA.

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

В процесс при этом не вовлечены магазины приложений, только Edge/Windows 10 сейчас размещает PWA в магазине. Это значит, что теперь вы можете устанавливать приложения на iOS без необходимости получать одобрение App Store. Apple не упомянула об этой возможности только потому, что не хотела запутать пользователей. Даже в заметках о релизе Safari не упоминалось об этой возможности.

Но ведь Apple и создала PWA?

До того, как команда Chrome придумала термин PWA, идея принадлежала Safari и оригинальной iPhone OS. В 2007 Стив Джобс анонсировал “ещё одну вещь” на WWDC: разработка приложений для оригинального iPhone была основана как раз на веб-технологиях. Напомним, что App Store не было в оригинальном плане, а нативный SDK не был доступен в течение первого года существования устройства. С точки зрения Apple, даже сегодня PWA — это просто “веб-приложение с домашнего экрана”, а иконку называют WebChip. Можете посмотреть мою презентацию с Fluent Conference, я упоминаю это на 10:50.

Эта идея не получила внимания 11 лет назад, и Apple перестала обновлять платформу, поэтому даже спустя десятилетие в ней есть баги и она неоднородна. Однако через несколько лет идею скопировали другие платформы, включая браузер MeeGo на Nokia N9 и Chrome на Android.

Chrome помог развить технологию для лучшего пользовательского опыта благодаря спецификациям Service Worker и Web App Manifest. Начиная с iOS 11.3 Apple также поддерживает эти две спецификации, как и Chrome, Firefox, Samsung Internet, UC Browser и Opera. Другие браузеры для компьютеров поддерживают Service Worker, но работа над поддержкой Web App Manifest ещё ведется.

Приложение не проходит тест качества App Store, верно?

Да, все правильно. Но приложение будет работать на основе модели безопасности браузера или веб-платформы. Это означает, что вы можете “публиковать” приложения, которые не будут одобрены в магазине, например, внутреннее приложение для ваших сотрудников, но у вас не будет доступа к чисто нативным функциям: FaceID на iPhone X или ARKit. Либо вам придется подождать, пока веб-платформа начнет поддерживать эти новые функции.

PWA может запускаться внутри Safari, как любой сайт, или в полноэкранном режиме, как любое другое приложение в системе. Если вам интересно, используют ли PWA Web View, то это не так для Safari или установленнии иконкой, но Web View используется при работе в других браузерах или в приложении Facebook.

Возможности PWA на iOS

С Web Platform на iOS вы можете получить доступ к:

Ограничения по сравнению с нативными приложениями

Что PWA могут на Android, но не на iOS

Что PWA могут на iOS, но не на Android

Как установить PWA без App Store?

Это одна из самых сложных вещей на iOS, так как Safari не будет отправлять приглашения (как Web App Banners в Android). Поэтому пользователю нужно будет перейти к URL вашего PWA в Safari, а потом вручную нажать иконку “Поделиться” и “Добавить на домашний экран”. Ничто не будет указывать на то, что этот сайт является PWA. Дополнительные браузеры, доступные в App Store, такие как Chrome, Firefox, Brave или Edge, не будут иметь возможности устанавливать PWA или использовать Service Workers.

Приложение будет выглядеть, как любая другая иконка на экране. Для неё не будет доступно меню 3D Touch. И если вы установите то же самое PWA снова, у вас будет еще одна иконка, указывающая на то же приложение.

Во многих веб-приложениях есть ссылка на установку нативного приложения из App Store, и она остается в PWA, как в примере с Tinder:

У меня уже есть PWA, будет ли оно работать на iOS?

Ваше PWA будет сразу доступно для установки после того, как ваши пользователи обновят систему до iOS 11.3. Вам не нужно будет подстраиваться под iOS, но все не всегда будет работать, как задумано.

При нажатии Login или Continue открывается окно Safari, поэтому PWA оказывается бесполезным

Я писал об этом статью раньше, и многие баги и сложности бета-стадии остались в финальной версии.

Что не будет работать

О чем нужно помнить

 

Exit mobile version