 
      
      Что такое PWA и зачем он нужен бизнесу?
      
        Опубликовано: 11 Сен 2020
      
Вернуться в блог
      
      Понятие Progressive Web Applications (PWA) на слуху уже давно. А сейчас особенно становится популярным из-за достаточного количества плюсов его использования в сфере веб-разработки. Основные из них, — это экономия бюджета, push-уведомления и работа оффлайн.
      
      Что такое PWA
      PWA (Progressive Web App) — это технология, позволяющая создавать сайты, которые могут работать как мобильные приложения и десктопные приложения. Если кратко, то это гибрид обычного сайта и мобильного приложения. 
      Многие известные бренды (Twitter, Telegram, Uber, Tinder, Airbnb и др.) уже используют PWA в качестве основного продукта или дополнения к мобильному приложению.
      Как это работает
      При первой загрузке сайта у пользователя появляется всплывающее окно с предложением добавить сайт на главный экран.
      Вот так это окно выглядит на смартфоне:
      
       
      А вот так на настольном компьютере или ноутбуке:
       
      
       
       
      После этого у пользователя появится иконка сайта на главном экране и возможность запустить его как отдельное приложение.
       
       
                
      Таким образом ваш сервис оказался на устройстве пользователя всего в два клика. Многие функции, которые предоставляет PWA, будут работать, даже если пользователь откажется закрепить приложение на главном экране.
      После установки приложения, пользователь видит адаптивную версию вашего сервиса в отдельном окне.
      
       
      Какие преимущества дает PWA вашему бизнесу?
      
        - Разработать такое приложение можно в несколько раз дешевле и быстрее, чем мобильное приложение, что отлично подходит для MVP и тестирования гипотезы вашего стартапа;
- Push-уведомления (пока не работает в Safari) — возможность повысить повторные продажи и средний чек, или просто оставаться на связи с клиентом. В web-сайтах Push на момент написания статьи не реализованы;
- Работа оффлайн — можно реализовать доступ к контенту без интернета. Это очень полезная функция. Зачем она нужна? Например: сохранение статьи, для того, чтобы прочитать ее в самолете или заполнение формы без интернета (в этом случае данные будут отправлены в фоновом режиме, когда интернет появится). Обычные сайты не обладают такой возможностью;
- Возможность разместить приложение в Google Play Market и получить дополнительный источник трафика;
- Повышение лояльности — ваш сервис всегда на виду у пользователя, в списке приложений или на главном экране;
- Скорость. В отличие от мобильного приложения, PWA-приложение устанавливается моментально, так как все его компоненты уже подгружены в кэш еще при первом посещении;
- Размер такого приложения намного меньше, чем размер мобильного приложения;
- PWA-приложение, в отличие от мобильного, не нужно обновлять отдельно — при выкате изменений, они сразу появятся у всех пользователей.
Как сделать PWA
      
        - Настроить Service Worker. Service Worker — это проксирующий слой между фронтэндом и бэкэндом, находящийся в браузере. Все запросы браузера идут через него. Из хранилищ у Service Worker’a есть доступ к Cache Storage для web ресурсов, и IndexDB для данных. В итоге, процессы приложения могут выполняться в фоне, даже если сайт-PWA не открыт;
- Настроить защищенный протокол HTTPS. Чтобы сайт удовлетворял требованиям PWA, нужно, чтобы все ресурсы сайта передавались по HTTPS протоколу;
- Добавить иконку для предоставления приложения на устройстве в размере 192×192 и 512×512;
- Правильно настроить Веб-манифест. Web App Manifest — это JSON файл, декларативно определяющий для браузера название приложения, иконку, как будет выглядеть PWA (fullscreen, standalone и др.) и некоторые другие параметры.
Сравнение возможностей обычного сайта, PWA и мобильного приложения
      
        
          
            
              |  | WEB-сайт | PWA | Мобильное приложение | 
            
              | Работает без установки | ✅ | ✅ | ❌ | 
            
              | Работает на всех устройствах | ✅ | ✅ | ❌ | 
            
              | Индексируется поисковыми системами | ✅ | ✅ | ❌ | 
            
              | Мгновенная доставка обновлений | ✅ | ✅ | ❌ | 
            
              | Небольшой размер | ✅ | ✅ | ❌ | 
            
              | Установка на главный экран устройства | ✅ | ✅ | ✅ | 
            
              | Push-уведомления | ❌ | ✅ | ✅ | 
            
              | Работа в оффлайн-режиме (без соединения с интернетом) | ❌ | ✅ | ✅ | 
            
              | Нет отвлекающих элементов управления браузера | ❌ | ✅ | ✅ | 
            
              | Возможность добавить в каталог Play Market | ❌ | ✅ | ✅ | 
            
              | Возможность добавить в каталог App Store | ❌ | ❌ | ✅ | 
            
              | Поддержка всех нативных API устройства | ❌ | ❌ | ✅ | 
          
        
       
       
      Вывод
      PWA — технология, которая позволяет совместить возможности обычного сайта и мобильного приложения. Внедрение этой технологии как минимум не помешает вашему сайту, но даст дополнительные возможности — такие, как работа оффлайн, Push-уведомления, установка в Google Play Market и многое другое. Разработка PWA значительно дешевле и быстрее, чем разработка мобильного приложения, но позволяет создать UX, очень похожий на работу пользователя с мобильным приложением.