Как сделать PWA устанавливаемым
В предыдущей статье мы читали о том, как js13kPWA работает в off-line режиме благодаря service worker, но мы можем пойти дальше и позволить устанавливать веб-приложения на поддерживающие мобильные браузеры, как если бы это было нативное приложение. В этой статье разберём, как этого добиться, используя веб-манифест и функцию под названием «Добавить на главный экран».
Эта технология позволяет запускать приложение прямо с рабочего стола, без запуска браузера и ручного ввода URL-адреса. Ваше веб-приложение может быть установлено рядом с нативным. Поэтому к нему проще получить доступ, а так же вы можете указать, что приложение должно использовать полноэкранный режим браузера, делая его ещё более похожим на нативное
Требования
Чтобы сделать сайт доступным для установки, ему необходимы следующие вещи:
- Веб-манифест с правильно заполненными полями
- Сайт должен использовать защищённый (HTTPS) домен
- Иконка для предоставления приложения на устройстве
- Зарегистрированный service worker, чтобы приложение работало в off-line режиме (на данный момент требуется только для Chrome на Android)
Файл манифеста
Ключевым элементом является файл манифеста, в котором представлена вся информация о веб-сайте в JSON формате.
Обычно находится в корневой папке веб-приложения. Содержит информацию, такую как название приложения, paths пути к значкам разных размеров, которые можно использовать для представления приложения в мобильных операционных системах (например, в качестве значка домашнего экрана), и цвет фона для использования при загрузке. Эта информация необходима браузеру для правильного отображения приложения при установке и на домашнем экране.
Файл js13kpwa.webmanifest веб-приложения js13kPWA включён в раздел файла index.html с помощью следующей строчки кода:
link rel="manifest" href="js13kpwa.webmanifest" />
Примечание: Существует несколько расширений, используемых в прошлом: manifest.webapp был популярен в манифестах приложений Firefox OS, также многие используют manifest.json потому что содержание организовано по структуре JSON. Однако, расширение .webmanifest явно упоминается в W3C manifest specification, поэтому давайте придерживаться именно этого стандарта.
Содержимое файла может выглядеть так:
"name": "js13kGames Progressive Web App", "short_name": "js13kPWA", "description": "Progressive Web App that lists games submitted to the A-Frame category in the js13kGames 2017 competition.", "icons": [ "src": "icons/icon-32.png", "sizes": "32x32", "type": "image/png" >, // . "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png" > ], "start_url": "/pwa-examples/js13kpwa/index.html", "display": "fullscreen", "theme_color": "#B12A34", "background_color": "#B12A34" >
Названия большинства полей говорят сами за себя, но давайте разберём документ и объясним всё подробно:
- name : Полное название вашего приложения.
- short_name : Короткое название для отображения на домашнем экране.
- description : Одно-два предложения, описывающих приложение.
- icons : Куча информации о значках — URL, размеры, типы. Не забудьте указать хотя бы несколько, чтобы иконка лучше подходила под устройство пользователя
- start_url : Загружаемый исходный документ при запуске приложения
- display : Как приложение должно отображаться; может быть fullscreen (полноэкранный), standalone (автономный), minimal-ui (минимальный пользовательский интерфейс), browser (браузер)
- theme_color : Основной цвет для интерфейса, используемый операционной системой
- background_color : Цвет для фона, используемый при установке и на заставке
Минимальные требования к манифесту — name и хотя бы один значок (с src , size и type ). Поля description , short_name , и start_url являются рекомендуемыми. Вы можете использовать даже больше полей, чем указано выше — не забудьте проверить ссылку на Web App Manifest reference.
Добавить на домашний экран
«Добавить на домашний экран» (кратко: a2hs) — это функция, реализованная браузерами, которая берёт информацию, найденную в веб-манифесте, и использует для добавления приложения на домашний экран устройства со значком и именем. Это работает при выполнении требований, описанных выше.
Когда пользователь посещает PWA с помощью браузера, поддерживающего технологию, должен отобразиться значок, указывающий на возможность установки приложения в качестве PWA.
После того, как пользователь кликнет на иконку, отобразится баннер установки. Информация в баннере генерируется на основе файла-манифеста — имя и значок отображаются в приглашении.
Если пользователь нажимает кнопку, появляется окно, на котором изображены ярлык приложения и кнопки для подтверждения действий.
При подтверждении ярлык будет добавлен на рабочий стол.
После этого пользователь может запустить приложение и сразу начать его использовать. Обратите внимание, иногда у PWA (в зависимости от браузера и/или операционной системы) в правом нижнем углу отображается иконка браузера, чтобы пользователи понимали, что работают с веб-приложением.
Экран загрузки
В некоторых браузерах, на основе информации из манифеста, создаётся заставка, отображаемая при запуске PWA
Иконка и фоновый цвет использовались для создания заставки.
Итог
В статье мы узнали, как сделать PWA устанавливаемыми, используя веб-манифест, и добавить их на главный экран.
Для получения большей информации, можете почитать наш Add to Home screen гайд (en-US) . В настоящее время поддержка ограничена браузерами Firefox для Android 58+, Мобильным Chrome и Android Webview 31+, также Opera для Android 32+, но поддержка должна расширяться в ближайшем будущем.
Теперь давайте перейдём к последнему фрагменту PWA-головоломки — повторному запуску с помощью push-уведомлений.
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 3 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
Как установить PWA приложение в браузер Chrome
Если вкратце, то так называемое прогрессивное веб-приложение (далее PWA), как известно, попросту превращает сайт или онлайн-сервис в некий программный продукт, который выглядит и работает, как обычное приложение, благодаря чему его можно поставить на рабочий стол компа, на главный экран смартфона или поработать с ним в автономном режиме.
Правда, с последним, с автономным режимом, то бишь, есть свои нюансы, и зависит он во многом от функционала каждого конкретного PWA.
К примеру, Notepad PWA без подключения к интернету работает нормально. А вот более масштабные сервисы вроде Spotify или Twitter в виде PWA сохраняют только очень ограниченное количество функций, так как в силу специфики для полноценной работы им необходимо постоянно подгружать данные с серверов на устройство пользователя.
Кроме того, на функционал PWA влияет также операционная система устройства. Скажем, в Windows 10 эти приложения могут подключаться к центру уведомлений ОС, однако их работа тоже ограничивается рядом правил и политик системы.
В Linux и Mac OS X технология эта по умолчанию вообще отключена, включать её надо вручную (chrome://flags/#enable-desktop-pwas в поисковой строке, потом переключить опцию на Enabled и перезапустить браузер), а поддержку PWA в них Google обещает не ранее выпуска Chrome 72.
В общем, не будет забегать далеко вперед и сейчас расскажем о том.
как установить PWA приложение в браузер Chrome
Сама по себе процедура установки PWA приложения предельно проста: надо зайти на страницу PWA (например, на сайт упомянутого Notepad PWA), найти в меню браузера кнопку «Установить приложение такое-то«, нажать её и дождаться завершения установки:
Chrome автоматически загружает выбранную прогу в свой интерфейс, после чего она также начинает отображаться в вписке установленных приложений операционной системы. В Windows 10 соответствующая иконка появляется в меню «Пуск», и потом оттуда же вы просто запускаете программку обычным способом, как и любую другую.
Более того, если кликнуть по значку правой кнопкой мыши, то откроется обычное меню, с помощью которого можно зайти в «Свойства» PWA, удалить его, перенести на «Панель задач«, запустить его с правами Администратора и т.д.
В Chrome PWA приложение также отображается в общем списке (chrome://apps/), открывается кликом (либо тапом), имеет контекстное меню, посредством которого прогу можно удалить, создать для неё новый значок, переключить режим отображения и пр.
PWA приложения и все, что нужно знать о них
Наверняка вы уже слышали о PWA, прогрессивном веб-приложении, но, должно быть, не пытались разобраться в том, как оно работает. В этой статье мы изучим, что такое прогрессивное веб-приложение и расскажем о том, как выбрать лучшее прогрессивное веб-приложение, такое как Cryptomus.
Что такое PWA (прогрессивное веб-приложение)?
Прогрессивное веб-приложение — это программа, работающая в веб-браузерах. Она использует веб-технологии, HTML, CSS и JavaScript; к тому же она совместима с любым устройством.
Характеристики PWA
• Прогрессивность: PWA работают для всех пользователей, независимо от их браузера или устройства.
• Надежность: Веб-страницы загружаются быстро и работают эффективно даже в регионах со слабым сетевым подключением.
• Увлекательность: Пользователи могут рассчитывать на захватывающий и увлекательный опыт работы с этими приложениями, которые по ощущениям напоминают нативные приложения.
Как работают PWA?
Обеспечивая надежный и привлекательный пользовательский интерфейс, прогрессивное веб-приложение сочетает в себе веб-технологии и функции устройства.
Одной из технологий, используемых в приложении PWA, являются сервис-воркеры, сценарии, которые выполняются в фоновом режиме и перехватывают сетевые запросы, кэшируют данные и доставляют push-уведомления.
Когда пользователь посещает приложение PWA, работник службы перехватывает сетевой запрос и проверяет, установлено ли оно на устройстве. Если да, сервисный работник доставит прогрессивное веб-приложение из кэша устройства. Благодаря этому онлайн-загрузка PWA происходит намного быстрее, чем загрузка традиционного веб-приложения.
Если прогрессивное веб-приложение (PWA) не установлено на устройстве, сервисный работник загрузит его оболочку и сохранит ее в кэше устройства.
Оболочка прогрессивного веб-приложения — это базовый HTML-файл, содержащий пользовательский интерфейс и основные функции.
После загрузки оболочки веб-приложения PWA сервис-воркер отобразит ее пользователю. Затем сервисный работник загрузит любые дополнительные ресурсы, необходимые прогрессивным веб-приложениям (PWA), такие как изображения, файлы CSS и JavaScript.
Прогрессивные веб-приложения (PWA) также могут использовать такие функции устройства, как камера, микрофон и GPS. Однако это возможно только в том случае, если пользователь предоставил приложению прогрессивное веб-разрешение на доступ к этим функциям.
Преимущества PWA
Прогрессивное веб-приложение (PWA) предлагает множество преимуществ, таких как:
• Ускоренная загрузка: PWA загружаются намного быстрее, чем традиционные веб-приложения, поскольку они используют сервис-воркеров для кэширования данных и доставки push-уведомлений.
• Офлайн-поддержка: PWA может работать в автономном режиме, что идеально подходит для пользователей, у которых не всегда есть надежное подключение к Интернету.
• Пользовательский интерфейс, аналогичный нативному: Они обеспечивают удобство использования, поскольку их можно установить на устройства и получить доступ к таким функциям устройства, как камера, микрофон и GPS.
• Проще разрабатывать и поддерживать: Легче разрабатывать и поддерживать прогрессивные веб-приложения, чем собственные приложения, поскольку они созданы с использованием веб-технологий.
• Более доступный: доступ к нему может получить любой, у кого есть веб-браузер, независимо от устройства или операционной системы.
Какие PWA-приложения выбрать
Существует множество криптовалютных PWA. Чтобы получить лучшие прогрессивные веб-приложения, вам сначала нужно найти платежную систему, которая их предлагает и будет заслуживать доверия. Для этого вам необходимо учитывать некоторые параметры платежной системы, чтобы получить хорошее PWA:
• Репутация: Вам необходимо узнать о репутации платформ, проверить форумы и веб-сайты, такие как Trustpilot, прочитать комментарии и посмотреть, с чем сталкиваются люди, например, с проблемами. Это поможет вам сравнить системы по реальным отзывам и сделать свой выбор.
• Безопасность: Безопасность является важным фактором при выборе. Выберите платформу, которая известна своей безопасностью и предлагает такие меры безопасности, как 2FA, KYC, SMS и подтверждение по электронной почте.
• Функции: Широкий функционал также является решающим фактором при выборе приложений PWA.
• Служба поддержки: Всегда ищите платформу, предлагающую службу поддержки, которая всегда будет рядом, чтобы помочь вам в любое время решить проблемы, с которыми вы можете столкнуться, без необходимости ждать несколько дней, чтобы получить один ответ.
Cryptomus — это пример прогрессивной платежной системы, предлагающей простое и безопасное приложение PWA; вы можете использовать его на своем телефоне. Процесс установки занимает всего несколько минут, а также вы сможете воспользоваться всеми преимуществами Cryptomus на своем телефоне или компьютере.
Чтобы установить PWA, вам нужно будет выполнить следующие шаги:
• Шаг 1. Зайдите в свой любимый браузер и скопируйте URL-адрес «app.cryptomus.com».
• Шаг 2. Нажмите значок «Поделиться» и выберите «Добавить на главный экран».
• Шаг 3. Нажмите на значок, который появился на главном экране.
Поздравляем, всего за 3 шага вы смогли установить PWA от Cryptomus и теперь можете беспрепятственно его использовать.
Безопасность и конфиденциальность PWA
PWA обычно считаются безопасными: они используют шифрование HTTPS и изолированы для предотвращения несанкционированного доступа.
Чтобы поддерживать высокий уровень безопасности, устанавливайте PWA из надежных источников и обновляйте программное обеспечение вашего устройства.
Будущее PWA
PWA предлагают такие преимущества, как более быстрое время загрузки, автономная поддержка, удобный пользовательский интерфейс, упрощенность разработки и доступность.
По мере того, как их использует все больше людей, компании повышают надежность их работы и поддерживают новые функции и устройства.
PWA приложения VS классические: новые возможности для банков
Почему на PWA приложения растёт спрос? Многие приложения российских банков, такие как Сбербанк, Альфа-банк, ВТБ, ПСБ, Tinkoff и другие из-за санкций оказались удалены из сторов. Бизнес находится в поиске альтернативных решений, и одно из них — технология Progressive Web Applications (PWA), или прогрессивные веб-приложения.
Технология была разработана ещё в 2000 году в Microsoft, а в 2015 году Google стал развивать её для использования на Android, но из-за скудного на тот момент user experience она не смогла завоевать внимание разработчиков. Сейчас она может стать полноценной заменой классическим приложениям и привычному App Store, и в этой статье мы расскажем, почему на неё стоит обратить внимание и какие есть плюсы и минусы PWA для банков и крупного бизнеса.
PWA: принципы работы
PWA — это технология, которая визуально и функционально преобразует сайт в приложение. Его можно открыть в браузере или загрузить как обычное мобильное приложение на своём смартфоне. Получается «продвинутая версия сайта» с адаптацией под устройства пользователей, и не нужно специально разрабатывать версии для Android или iPhone.
Для прогрессивного приложения характерны:
- Использование Service Worker — прокси-сервера, который управляет сетевым запросом от приложения и даёт возможность кэширования и запоминания информации, отвечает за фоновую синхронизацию, позволяет присылать push-уведомления для полноценной коммуникации с клиентами.
- Работает со своими ресурсами с помощью HTTPS через браузер — так же, как нативное приложение обращается через файловую систему. Браузер выступает в роли виртуальной машины, которая запускает PWA приложение.
- Web App Manifest — текстовый json-файл, который добавляется в код страницы сайта. Он определяет, как будет отображаться приложение через браузер, то есть все визуальные элементы.
Многие программисты называют PWA приложения эволюцией веб-разработки и прогнозируют слияние мобайла с вебом. Как минимум, потому что эта технология позволяет бизнесу избежать убытков в случае санкций и продолжать поддерживать взаимодействие с клиентом.
Создаём приложения, с которыми удобно развивать бизнес
Плюсы PWA
- Свобода от сторов. Прогрессивные веб-приложения не нужно размещать в сторах — пользователи скачивают его прямо из браузера. Это экономит время пользователя, а также ваш бюджет на добавление и продвижение приложения в сторах.
- Офлайн-режим. Пользователям не нужно быть подключенным к интернету для некоторых операций. Это возможно благодаря Service Workers — специальному прокси-решению от Google. Кэширование позволяет PWA работать в автономном режиме даже при потере соединения с сервером, а затем синхронизирует всю информацию при подключении.
- Скорость. PWA загружаются очень быстро благодаря HTML-отдаче. С момента загрузки до появления первого элемента или изображения обычно проходит не более 1 секунды.
- Лёгкость. Одна из основных причин удаления приложений согласно маркетинговым исследованиям — ограниченный размер памяти смартфонов. К примеру, вес среднего приложения варьируется от 20 до 50 МБ, вес высоконагруженных может доходить до 300. В то время как установленное PWA приложение занимает менее 1 МБ.
- Лояльность клиентов. Google провёл исследование, согласно которому 50% пользователей смартфонов с большей вероятностью готовы использовать сайты для мобильных устройств, потому что не хотят загружать приложения. Возможность напрямую взаимодействовать с сервисом напрямую может повысить доверие пользователей.
- Адаптивность. PWA подстраиваются под любое пользовательское окружение. Они работают на всех возможных системах, устройствах и браузерах. Это достигается за счёт единой базы исходного кода.
- Узнаваемость. При загрузке PWA на свой смартфон можно установить ярлык на экран. Визуально он не будет отличаться от привычного значка приложения.
Недостатки PWA
- Ограниченный функционал. PWA приложения используют не все функции устройства. Например, сильно урезан доступ к контактам, календарю, Bluetooth и NFC. Так как разработчики PWA ограничены возможностями браузеров, то использовать все системные API невозможно. Если бизнес-модель подразумевает активное использование функций смартфона, то разумнее выбрать кастомное приложение вместо PWA.
- Меньшая виральность. Путь пользователя к сайту компании может быть долгим — многие активно пользуются stores. В случае с PWA они должны сами посетить тот сайт, который им нужен, а уже после добавить приложение на своё устройство. Поэтому бизнесу стоит учесть, что нужно заложить дополнительный бюджет на продвижение или пройти модерацию каталогов приложений.
- Низкая производительность. Производительность кастомных (нативных и кроссплатформенных) приложений выше, чем у PWA. На высококонкурентном рынке это может стать ключевым запросом большой аудитории.
- Низкая совместимость сiOS. Совместимость прогрессивных веб-приложений с браузерами и операционными системами всё ещё находится на стадии разработки. В частности, iOS поддерживает не все функции PWA: недоступен Bluetooth, Siri, отправка уведомлений, Face и Touch ID. От этого пользовательский интерфейс ограничен. Однако в связи с ростом популярности PWA, Apple постепенно предоставляет API для обхода этих ограничений. Например, в iOS 15.4 в экспериментальном режиме предоставлена возможность взаимодействия с push-уведомлениями, а это значит, что в ближайшем будущем это будет работать на iOS.
- Большой расход батареи. Из-за использования JavaScript вместо Java прогрессивные веб-приложения быстрее сажают батарею телефона и расходуют больше ресурсов.
PWA и кастомные приложения: что лучше
Зачем переходить на PWA, если можно разработать нативное или кроссплатформенное приложение и точно так же обходить санкции и не пользоваться сторами? Мы не говорим о коробочных решениях, так как они представляют собой готовое приложение, которое сложнее развивать — оно может быть применимо для стартапов, но не для банковской сферы. Визуально сравним прогрессивные веб-приложения и кастомные, прозрачно покажем их особенности, а дальше — решение за бизнесом.
Всё ли хорошо с конверсией?
В сфере e-commerce и FinTech важно помнить про коэффициент конверсии (conversion rate), так как это один из главных показателей успешности бизнеса. Мы сравнивали его в коробочном и кастомном приложениях. Теперь посмотрим, как PWA усиливает этот показатель.
PWA приложение повышает конверсию, так как:
- Загружается в течение нескольких секунд. В среднем — около 1 секунды. Время для пользователя критически важно: почти 70% пользователей мобильных приложений утверждают, что скорость загрузки решает, будут ли они пользоваться приложением дальше. 53% пользователей удаляют приложение, если оно загружается дольше 3 секунд.
- Подключены к голосовому поиску. PWA воспринимаются поисковыми системами как обычные сайты, что позволяет легче находить их. Умные колонки (Alexa, Алиса или Google Home) также просто интегрируются с PWA. Это поможет пользователям больше взаимодействовать с бизнесом и совершать целевые действия даже без устройства в руках.
- Единообразный UX. В PWA поддерживать один стиль интерфейса проще и дешевле, чем в других приложениях — не нужно разрабатывать отдельно для каждого устройства. Это также позволит пользователям iPhone легче взаимодействовать с продуктом.
Кейсы использования PWA
Прогрессивные веб-приложения — давно развивающая технология, и сейчас в мире есть много успешных примеров проектов, которые перешли на нее. Расскажем о крупных компаниях.
Сбербанк использует PWA приложение совместно с App Authentification и отмечает его особые удобства для владельцев iOS — теперь пользователи могут пользоваться веб-версией как приложением и для его установки не нужно идти в офис банка.
Spotify смогли уйти от санкций в App Store благодаря разработке PWA приложения. Они отметили, что у PWA адаптивный UI, что дало возможность приложению работать гораздо быстрее. Пользователи могут использовать новое приложение как аналог обычно загружаемого из AppStore — и говорят, что стало в несколько раз удобнее.
Starbucks провели эксперимент и разработали PWA, чтобы собирать больше заказов вместе с мобильным приложением. Выяснилось, что PWA оказалось меньше по весу на 99,84% по сравнению с классическим приложением. Выбор пользователей был сделан в пользу PWA. Количество заказов увеличилось в два раза и почти сравнялось с декстоп-заказами.
Только 1% мобильный пользователей Pinterest переходили к целевому действию: регистрации, входу в систему или установке приложений. Когда компания разработала PWA приложение, клиенты стали проводить на 60% больше времени в соцсети, а доход вырос от создаваемой пользователями рекламы.
Trivago, один из крупных немецких агрегаторов для бронирования отелей, обнаружили, что при переходе на PWA вовлечённость пользователей увеличилась на 150%.
MakeMyTrip — крупнейшая туристическая компания Индии, MAU сайта — более 8 млн пользователей. После запуска PWA коэффициент конверсии увеличился в 3 раза, а скорость загрузки страниц выросла на 38%.
Как мы разработали кроссплатформенное приложение для банка
Как Surf разработал PWA
В Surf мы накопили опыт разработки подобных решений для клиентов и создали концепт онлайн-банка. По сути, это 3 приложения в 1: для мобильных устройств, веба и десктопа.
Разработано на базе Flutter — кроссплатформенного фреймворка от Google. Позволяет, используя одну кодовую базу, создавать PWA приложения сразу для нескольких платформ и снижает затраты на разработку до 60%. На Flutter уже работает множество приложений из разных сфер: от сервисов доставки до автоконцернов и, например, Росбанк.
Что даёт разработка прогрессивного веб-приложения на Flutter:
- адаптация и корректное отображение на всех устройствах — разработка PWA приложения на Flutter позволит не тратить время и ресурсы на настройку каждой платформы, а получить результат сразу на всех — iOS, Android, Web, Windows, MacOS.
- тестирование — проще по сравнению с разработкой отдельного PWA без фреймворка, так как код проверяется один раз на все платформы и нет необходимости пересборки всего продукта;
- использование всех возможностейiOSи Android. Кроссплатформенная разработка не отличается по сложности или дается легче, чем нативная, так как использует всё те же нативные технологии самой платформы. Например, в приложении на Flutter можно, как и в нативном, использовать Touch и Face ID, сканер отпечатка пальца, GPS и камеру.
- гибкость — можно использовать уже существующее приложение и адаптировать под запрос своего бизнеса;
- экономия — разработчиков на проекте будет меньше, часов на разработку потребуется также меньше, в итоге сократятся расходы по сравнению с разработкой нативных приложений;
- безопасность — код приложения на Flutter зашифрован так, чтобы его нельзя было восстановить с помощью реверс-инжиниринга — процесса копирования объекта по уже готовому образцу, то есть уровень безопасности такого приложения высокий.
В итоге вы получаете эффективные приложения на нескольких платформах сразу и в обход сторов. Мы всегда предлагаем несколько сценариев развития и реализации технологии, отталкиваясь от запросов конкретного бизнеса, в частности — создание временного PWA приложения со всем необходимым функционалом, а в дальнейшем, после снятия санкций и ограничений, перекомпиляция в полноценное мобильное приложение.