Основным преимуществом собственных приложений является то, что они могут получить доступ ко всем собственным API-интерфейсам, которые может предложить платформа (контакты, вспышка камеры, SMS, телефония, сеть, Bluetooth, датчики, необработанные сокеты ...), в то время как прогрессивное веб-приложение не может (пока) поскольку они ограничены возможностями Standard Web.
Цель прогрессивных веб-приложений - расширить эти возможности для охвата наиболее критических случаев. В таком настроении взгляните на Progressive Web Apps: Escaping Tabs Without Loosing Our Soul, где вы можете найти список того, что должно предлагать прогрессивное веб-приложение:
- Отзывчивый: подходит для любого форм-фактора
- Независимость от подключения: постоянно расширяются сервисные работники, позволяющие им работать в автономном режиме
- Взаимодействия, подобные приложениям: воспользуйтесь моделью приложения Shell + Content для создания удобной навигации и взаимодействия.
- Свежий: прозрачная и всегда актуальная информация благодаря процессу обновления Service Worker
- Безопасно: обслуживается через TLS (требование Service Worker) для предотвращения слежки
- Обнаруживаемость: идентифицируются как «приложения» благодаря манифестам W3C и области регистрации Service Worker, что позволяет поисковым системам находить их.
- Возможность повторного вовлечения: может получить доступ к пользовательским интерфейсам повторного вовлечения ОС; например, Push-уведомления
- Возможность установки: на главный экран через подсказки браузера, позволяющие пользователям «сохранять» приложения, которые они считают наиболее полезными, без хлопот, связанных с магазином приложений.
- Возможность связывания: это означает, что они не требуют трения, не требуют установки и легко распространяются. Социальная сила URL-адресов имеет значение.
С этих позиций возможность связывания была одной из первых характеристик, импортированных нативными приложениями из Open Web в форме мобильных глубинных ссылок .
Но особого упоминания заслуживает комбинация свежий + устанавливаемый, поскольку она представляет одно из основных преимуществ Интернета как платформы по сравнению с собственными альтернативами. Здесь устанавливаемый означает, что он появляется на вашем домашнем экране. Это не значит, что вам необходимо пройти этапы загрузки и установки. Вы открываете URL-адрес или обнаруживаете службу во время просмотра, и все готово: она появляется на главном экране .
Fresh относится к тому, как работает обычный Интернет, предлагая мгновенную загрузку и плавные обновления. Вас не просят установить обновление из сети YouTube, оно развернуто, и вы потребляете его при следующем посещении.
Я не говорю о преимуществах оставшихся пунктов, потому что вы спрашивали о различиях, и, например, повторное вовлечение - это то, что уже есть в собственных приложениях с помощью push-сервисов и уведомлений, а теперь веб-приложения догнали.
Другой связанный и ключевой вопрос заключается в том, какая платформа больше подходит для ваших нужд. Если у вас нет доступа к специальным аппаратным возможностям, Интернета должно быть достаточно, и выбирая Интернет, вы свободны от торговых площадок, закрытых экосистем и, между прочим, вы можете обеспечить определенный уровень повсеместности и взаимодействия .
В качестве заключительных примечаний я рекомендую вам посетить сайт www.flipkart.com с мобильного телефона с Chrome. Это довольно круто: никаких ошибок, плавная навигация, ощущение приложения. Перейдите в автономный режим, и он продолжит работу. Поистине реальный пример этого поста. Добавьте приложение на главный экран, и в следующий раз, когда вы откроете его, работа станет еще лучше.
Вы можете взглянуть на Firefox OS, а также на пример внедрения большего количества API-интерфейсов платформы в стандартную сеть (с более или менее успешным).