Какие функции имеют прогрессивные веб-приложения против собственных приложений и наоборот, на Android [закрыто]
в 2015 году Google представила новый подход к разработке веб-приложений для Android: прогрессивные веб-приложения. Можно создать приложение, которое будет выглядеть как родное приложение, сможет использовать аппаратные средства устройства, такие как камера и акселерометры, получать push-уведомления, иметь значок запуска, работать в автономном режиме, хранить локальные данные и т. д.
на Android, какие функции обеспечивают собственные приложения, что прогрессивные веб-приложения не поддерживают, и наоборот.
2 ответов
TL; DR - по состоянию на февраль 2017 года прогрессивные веб-приложения являются достаточно мощной платформой, которая Twitter переместил весь свой мобильный веб-трафик в React PWA.
по состоянию на август 2016, прогрессивные веб-приложения фактически предлагают больше аппаратного доступа, чем обычно думают. Вот скриншот whatwebcando.сегодня из моего Chrome 52 стабильный на Android:
доступ к оборудованию включает
- геолокация - поддерживается в большинстве браузеров
- камера и микрофон через getUserMedia / Stream и предстоящем Захват Изображения MediaStream интерфейсы
- устройства вибрация
- ориентация и акселерометр доступа, в том числе компас и гироскоп
- батарея статус
предстоящий доступ к оборудованию
эти функции реализуются или уже работают в некоторых браузерах:
- Bluetooth через Веб Bluetooth API
- NFC
- датчик освещенности (работает в Firefox 48+)
- датчик приближения (работает в Firefox 48+)
- акселерометр, магнитометр и волчок датчик доступа
- API обнаружения формы
еще один важный момент, чтобы отметить, что Origin Trials рамки ( реализовано в Chrome) позволяет изготовителям подвергнуть действию и испытать возможности оборудования (или программного обеспечения) без пойти через процесс стандартизации. Например, телефон maker может предоставить API для чтения значений датчика давления, уточнить его, а затем представить его на рассмотрение W3C.
помимо аппаратного доступа, есть также программные функции, традиционно используемые родными приложениями, которые теперь доступны для веб-приложений.
традиционно родные черты, что Ппсо также можете использовать
- push-уведомления
- автономная работа
- добавление значка в начало экран
- появляется в списке приложений, благодаря WebAPKs - прогрессивные веб-приложения теперь могут быть упакованы в фактические устанавливаемые пакеты Android!
- спуск в полноэкранный
- доступ к буферу обмена
-
аппаратно-ускоренная 2D / 3D графика через HTML5 холст или WebGL - проверьте некоторые из HTML5 Canvas demos, в WebGL сайты или три.библиотека js. 2014 эталонный показатель Unity кросс-платформенный игровой движок сравнение производительности рендеринга native и WebGL и заключенному это
" самый важный вынос, в то время как есть еще области, где WebGL значительно медленнее, чем родной код, в целом вы можете ожидать очень приличную производительность уже, и это может быть только лучше в будущее."
- чтение выбранные пользователем файлы в любом браузере
- гладкий, гладкий UIs С 60 кадров в секунду анимации
эти особенности охватывают множество вариантов использования, и многих популярных приложений в наше время может быть переписано как Ппсо. Возьмем, к примеру, Slack. Его альтернатива с открытым исходным кодом,.
Native-подобные функции, поступающие в PWAs
- обработка интентов - например, совместное использование страницы в другое приложение или share target, например, приложение чата PWA, которое получает изображение для установки в качестве аватара пользователя
родной Android Особенности пока недоступна ППСО
- доступ к датчику отпечатков пальцев (в разработке)
- контакты, календарь и доступ к закладкам браузера (отсутствие доступа к ним можно рассматривать как характеристика пользователями, осознающими конфиденциальность)
- сигнализация
- особенности телефонии-перехватывать SMSes или звонки, отправлять SMS/MMS, получить номер телефона пользователя, читать голосовую почту, совершать телефонные звонки без диалога дозвона
- низкоуровневый доступ к некоторым аппаратным функциям и датчикам: фонарик, датчик атмосферного давления
- доступ к системе: управление задачами, изменение системных настроек, журналы
прогрессивные веб-приложения предлагают функции, которых не хватает родным приложениям
- поиска - контент в прогрессивных веб-приложениях можно легко найти поисковыми системами, но контент-ориентированное родное приложение, такое как StackOverflow, не будет отображаться среди результатов поиска app store для контента, который он предоставляет доступ к, например, "веб-клиента Project и родной". Это проблема для таких сообществ, как Reddit, которые не могут выставлять свои многочисленные суб-сообщества в app store как отдельные "приложения".
- linkability - любая страница / экран может иметь прямую ссылку, которую можно легко разделить
- bookmarkability - сохраните эту ссылку, чтобы получить доступ к просмотру приложения напрямую
- всегда свежий - нет необходимости проходить через приложение магазины, чтобы нажать обновления
- Универсальный доступ - не подлежит App stores иногда произвольным политики или (непреднамеренные) географические ограничения
- большие сбережения данных, чрезвычайно важно на развивающихся рынках с дорогим и / или медленным доступом в интернет. Например, сайт электронной коммерции Konga сократить использование данных на 92% для первой загрузки путем перехода на ПВА.
-
низкое трение распределения - если ваше прогрессивное веб-приложение онлайн, оно уже доступно для Android (и других мобильных) пользователей.
- 65.5% пользователей смартфонов США не загружают новые приложения каждый месяц
- PWAs устранить необходимость идти в app store, поиск приложения, нажмите кнопку Установить, дождитесь загрузки, а затем откройте приложение. каждый из этих шагов теряет 20% потенциальных пользователи.
Конечная нота: Ппсо работать с той же базой, на рабочем столе, а также на большинстве мобильных устройств. В настольных средах (ChromeOS и позже Mac и Windows), они запускаются так же, как и другие приложения, и запускаются в обычном окне приложения (без вкладки браузера).
главным преимуществом для собственных приложений является то, что они могут получить доступ ко всем родным API, которые может предложить платформа (контакты, вспышка камеры, SMS, Телефония, сеть, bluetooth, датчики, необработанные сокеты...) в то время как прогрессивное веб-приложение не может (пока), поскольку они ограничены стандартными веб-возможностями.
целью прогрессивных веб-приложений является расширение этих возможностей для охвата наиболее критических случаев. В таком настроении, взгляните на Прогрессивные Веб-Приложения: Побег Вкладки, Не Теряя Нашу Душу где вы можете найти список того, что прогрессивное веб-приложение должно предложить:
- реагировать на любой форм-фактор
- независимое подключение: прогрессивно-улучшено с помощью сервисных работников, чтобы они могли работать в автономном режиме
- App-like-interactions: примите модель приложения Shell + Content для создания навигации и взаимодействия appy
- свежий: прозрачно всегда в актуальном состоянии спасибо к процессу обновления Service Worker
- Safe: подается через TLS (требование работника службы), чтобы предотвратить snooping
- Discoverable: идентифицируются как" приложения " благодаря манифестам W3C и области регистрации работника службы, позволяющей поисковым системам находить их
- Re-engageable: может получить доступ к UIS повторного включения ОС; например, Push-уведомления
- Installable: к домашнему экрану через браузер-обеспеченные подсказки, позволяющ потребителям к "держите" приложения, которые они находят наиболее полезными без хлопот app store
- Чт: т. е. с нулевым трением, без установки, и легко поделиться. Социальная сила URLs имеет значение.
из этих пунктов, linkable была одной из первых характеристик, импортированных собственными приложениями из открытого интернета в виде мобильная глубокая связь.
но особого упоминания заслуживают комбинированные свежие + установки поскольку он представляет собой одно из основных преимуществ интернета Как платформы над уроженца альтернативы. Вот!--29-->установки означает, что он появляется на главном экране. Это не означает, что вам необходимо пройти этапы загрузки и установки. Вы открыть URL или открыть сервис при просмотре и дело сделано: он появляется на главном экране.
свежие относится к тому, как работает обычный веб, предлагая мгновенную загрузку и бесшовные обновления. Вас не просят установить обновление из интернета YouTube, оно развернуто, и вы потребляете его при следующем посещении.
Я не говорю о преимуществах оставшихся точек, потому что вы просили различия и, например, повторное участие-это то, что родные приложения уже имеют через push-сервисы и уведомления, и теперь веб-приложения догнали.
другие связанные и ключевые вопрос о том, какая платформа больше подходит для ваших нужд. Если вы не получаете доступ к специальным аппаратным возможностям, веб должен быть достаточно и выбирая веб вы свободны от торговых площадок, проприетарных экосистем и, кстати, вы можете обеспечить определенную степень вездесущности и совместимость.
в качестве финальной ноты, я рекомендую вам просмотреть www.flipkart.com с мобильного с хром. Это довольно удивительно: нет ошибок, плавная навигация, приложение-как чувство. GO offline и он будет продолжать работать. Действительно реальный пример этого поста. Добавьте приложение на главный экран, и в следующий раз, когда вы его откроете, опыт еще лучше.
вы можете взглянуть на Firefox OS а также пример приведения больше API платформы к стандартной сети (с более или менее успехом).