Краткая версия: что такое прогрессивные веб-приложения?
Вот краткое резюме: Google, Microsoft, Mozilla и другие компании работают над новым, современным стандартом веб-приложений. Даже Apple следит за ней и реализует ее поддержку. Эти приложения являются веб-приложениями, но они ведут себя как родные приложения. Как и существующие веб-приложения, они будут размещаться непосредственно на связанном с ними веб-сайте. Разработчики могут обновлять их непосредственно на своем веб-сервере, не отправляя эти обновления в несколько разных магазинов приложений, и одно и то же приложение будет работать на всех браузерах и платформах.
Когда вы устанавливаете прогрессивное веб-приложение, вы получите домашний экран, панель задач или ярлык на рабочем столе, который запускает приложение (в зависимости от вашей платформы). Приложение будет загружаться быстро и будет включать автономную поддержку, push-уведомления, поддержку синхронизации фона и другие современные лакомства.
Эти приложения также могут использовать существующие веб-технологии для доступа к службам определения местоположения, вашей веб-камере и другим таким функциям, которые мы обычно связываем с родными приложениями. Конечно, приложения должны спросить вас и получить ваше разрешение, прежде чем обращаться к этим вещам.
Техническая версия: как они работают?
Эти приложения получат собственное окно и ярлык на панели задач (в Windows 10 и любой Chrome) или значок на главном экране (на устройствах Android и других смартфонах). Когда вы их открываете, они быстро загружаются благодаря API Cache и IndexedDB, который хранит ресурсы и данные приложения на вашем устройстве, что позволяет им работать, даже когда они находятся в автономном режиме. Такие технологии, как Service Workers и push-уведомления, позволят приложению выполнять фоновые задачи, такие как синхронизация и отправка уведомлений, даже если они не запущены, как родное приложение. API-интерфейс Fetch упрощает и ускоряет приложение для запроса данных. У них есть файл манифеста веб-приложений, в котором указаны имя, значок, автор и описание, которое используется при установке приложения на домашний экран или рабочий стол. Они всегда обслуживаются через зашифрованные HTTPS, что означает, что они безопасны, и данные не могут быть подвергнуты транзиту.
Прогрессивные веб-приложения не похожи на Google Chrome Packaged Apps или Microsoft Hosted Web Apps. Те, кому нужно, чтобы приложение было «упаковано» в виде файла и отправлено в хранилище приложений. Все приложение проживало в небольшом автономном комплекте, и пользователям приходилось устанавливать его из Интернет-магазина Chrome или Windows Store. Они также были ориентированы на платформу и будут работать только в Chrome или Windows. Разработчику пришлось изменить файлы офлайн-приложения и отправить новую версию в магазин приложений, чтобы обновить его.
Вместо этого PWA никогда не упаковываются в автономный файл. Как и традиционные веб-приложения, которые мы используем сегодня, они полностью размещаются на серверах приложений. Если разработчик хочет обновить свое прогрессивное веб-приложение, он обновит его точно так же, как он обновит веб-приложение на своих серверах. Все платформы и браузеры, поддерживающие PWA, могут использовать одни и те же прогрессивные веб-приложения.
PWA можно указывать в магазинах приложений для более легкого обнаружения и установки, но в магазине приложений будут указываться только серверы веб-приложений. Даже если приложение несовместимо с политиками содержимого магазина приложений, пользователи смогут находить и устанавливать их непосредственно из своего браузера.
Почему это имеет значение
Например, когда эта работа будет выполнена, Google может включить службы, такие как Gmail и Календарь Google, для работы в качестве PWA. Это означает, что они будут запускаться как приложения на родном языке в Windows 10 и будут перечислены в Windows Store. Это значительно повлияет на решение проблемы приложения Windows Store, поскольку Google не хочет поддерживать универсальную Windows-платформу Microsoft (UWP). Другие разработчики, которые не хотели создавать отдельные приложения UWP, внезапно смогут поддерживать Windows 10 с помощью PWA в собственном стиле.
Разработчики имели бы более простой способ сделать свои веб-приложения более мощным, интегрированным способом на самых разных устройствах, не перескакивая через любые обложки магазина приложений. Веб-приложения, которые работают повсюду, смогут лучше конкурировать с родными приложениями, которые работают на единой платформе. Компания, у которой есть только ресурсы для создания одного приложения, может сделать PWA и поддерживать все, а не создавать отдельные приложения для iOS, Android, Windows и Интернета.
И из-за созданных разработчиками файлов приложений веб-приложений, поисковые системы смогут сканировать веб-страницы и легко найти доступные PWA-файлы в Интернете. Это сделает PWA легко доступным, как веб-страницы.
Какие платформы поддерживаются?
В следующем обновлении Windows 10 - обновлении в апреле 2018 года под кодовым названием Redstone 4, которое выйдет 30 апреля, Microsoft предоставит поддержку PWA. Как и на других платформах, вы можете перейти на сайт PWA и установить его через Microsoft Edge. Тем не менее, Microsoft также будет перечислять Прогрессивные веб-приложения в магазине для легкой установки. Разработчики могут перечислять свои собственные приложения в Магазине, но Microsoft также будет использовать Bing для поиска хороших PWA в Интернете и автоматического их перечисления. Они все равно будут размещаться на своем веб-сайте и обновляться разработчиком, но Microsoft упрощает их поиск и установку. Вам даже не нужно будет открывать браузер Edge для поиска, установки и запуска PWA в Windows 10. Это должно помочь развернуть хранилище Windows, но выглядит как плохая новость для платформы приложений UWP для Microsoft. Почему многие разработчики делают приложение UWP, когда PWA будет в порядке и запускается на нескольких операционных системах?
В Google Chrome, будь то для Windows, Mac, Linux или Chrome OS-PWA, планируется заменить прекращенную платформу «Chrome Apps». Google утверждает, что поддержка установки PWA для ПК должна прибывать «в середине 2018 года» примерно. Затем эти PWA будут работать с Chrome на рабочем столе. Эта функция уже тестируется в нестабильной версии Chrome, названной Canary.
На Android Google Chrome уже поддерживает установку PWA, как и другие мобильные браузеры, такие как Mozilla Firefox, Opera и браузер Samsung. Google работает над технологией с именем WebAPK, которая позволит превращать PWA в файлы APK (файлы приложений Android) и устанавливаться на устройство, как и другие приложения. Менеджер проекта Chrome намекнул, что PWA могут быть добавлены в Play Store.
Хотя Apple не была вокальным сторонником или участником здесь, теперь они добавляют функции PWA в браузер Safari.
2018 год должен быть большим годом для PWA, особенно в Windows 10, где они могут помочь Microsoft закрыть разницу в приложениях и иметь больше приложений в собственном стиле.