И почему они могут быть лучше, чем приложения для iOS, Android и, возможно, даже для Windows

Думаю об этом. Большинству нативных приложений не требуются все встроенные функции приложения, такие как биометрические данные, доступ по Bluetooth и т. Д., Так почему бы не написать приложение один раз и не использовать его на любом устройстве? ← знакомство с прогрессивными веб-приложениями

Что такое прогрессивные веб-приложения

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

Почему бы просто не использовать собственное приложение?

Почему, например, новостному приложению нужно что-то, кроме вашего местоположения или push-уведомлений? Угадайте, ваш веб-браузер может запросить разрешение на использование их обоих. Хотя для push-уведомлений требуется безопасное соединение (https) и работник службы, гораздо удобнее написать одно приложение для всех платформ, чем необходимость переписывать и поддерживать код для всех различных платформ. Многие компании, такие как Twitter, NASA и Starbucks, уже используют PWA, и они отлично выглядят:

PWA vs Native: функции и API

Преимущества PWA:

  • Мультиплатформенность - разработчикам нужно разработать только одну кодовую базу, что снизит стоимость и повысит качество конечного продукта.
  • Без трения - почти нет времени загрузки, предлагалось добавить на главный экран при просмотре веб-сайта. Около 60% мобильных пользователей не скачивают ни одного нового приложения каждый месяц.
  • Легко обнаруживается - от посещения веб-сайта до запроса на установку и установки, которая занимает менее 10 секунд.
  • Маленький размер загрузки -
  • Мгновенные обновления - сервис-воркеры позволяют использовать новые скрипты / таблицы стилей сразу после их развертывания на сервере, поэтому пользователю даже не нужно нажимать кнопку обновления.
  • Запускайте на любом устройстве с браузером

Преимущества нативных приложений:

  • Быстрая плавная анимация
  • Естественный интерфейс
  • Практически мгновенная загрузка

Поддержка платформ для PWA

Android

Google активно продвигает концепцию PWA, и недавно они начали привлекать много внимания со стороны Apple, Samsung, Firefox и даже Microsoft. Android теперь полностью поддерживает все функции PWA и стал первой платформой, которая это сделала.

iOS

Safari уже экспериментирует с поддержкой сервис-воркеров, что, вероятно, приведет к поддержке PWA в конце этого года. Хотя вы не можете «добавить на главный экран» на iOS, вы все равно можете использовать push-уведомления.

Окна

Microsoft уже объявила, что Edge очень скоро будет поддерживать PWA из книги. Фактически, последняя инсайдерская версия уже поддерживает его. Однако только около 2% пользователей используют Edge, поэтому нам придется полагаться на Chrome и Firefox, реализующие эту функцию. К счастью, Chrome canary уже содержит флаг в chrome: // flags, который позволяет вам это делать:

Перспектива разработчика

Развертывание

Если вы даже создали собственное приложение, вы знаете, что процесс развертывания является болезненным и трудоемким:

скомпилировать (рабочая версия) → создать закрытый ключподписать приложение → опубликовать

С прогрессивным веб-приложением все, что вам нужно сделать, это:

сборка веб-приложения (npm run build) → загрузка на сервер

Означает ли это, что нативные приложения в конечном итоге вымрут?

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

Заключение

Если вы разработчик и планируете создать собственное приложение в 2018–2019 годах, подумайте о создании PWA вместо отдельных приложений для каждой платформы. Вам не нужно поддерживать каждую версию, версию для разработки можно уменьшить примерно в 3 раза, и вам не нужно изучать все языки. Тебе это понравится. У меня также будет еще несколько руководств по созданию полнофункционального PWA с push-уведомлениями, автономной поддержкой и кешированием с использованием как angular, так и реакции, поэтому, если вы хотите увидеть это, следуйте за мной, чтобы не пропустить историю.