Які функції мають прогресивні веб-програми порівняно з рідними програмами та навпаки, на Android [закрито]


112

У 2015 році Google представив новий підхід до розробки веб-додатків для Android: прогресивні веб-додатки . Можна створити додаток, який буде схожий на нативну програму, матиме змогу використовувати апаратні засоби пристрою, такі як камера та акселерометри, отримувати push-повідомлення, мати піктограму запуску, працювати в автономному режимі, зберігати локальні дані тощо.

На Android, які функції натурних програм передбачають, що прогресивні веб-додатки не підтримують, і навпаки.

Відповіді:


201

TL; DR - Станом на лютий 2017 року, Прогресивні веб-програми - це достатньо потужна платформа, завдяки якій Twitter перемістив увесь їх мобільний веб-трафік на React PWA .

Станом на серпень 2016 року, прогресивні веб-програми фактично пропонують більше апаратного доступу, ніж прийнято вважати. Ось знімок екрана whatwebcando.today з моєї Chrome 52 стабільно на Android:

Що можна зробити сьогодні в Інтернеті - Chrome 52 на Android

Апаратний доступ включає

Майбутній апаратний доступ

Ці функції впроваджуються або вже працюють у деяких браузерах:

Ще одним важливим моментом, який слід зазначити, є те, що Origin Trials Framework ( впроваджена в Chrome ) дозволяє виробникам викривати та перевіряти апаратні (або програмні) можливості, не проходячи процес стандартизації. Наприклад, виробник телефону може викрити API для зчитування значень датчика тиску, уточнити його, а потім подати на розгляд W3C.

Окрім апаратного доступу, є також програмні функції, які традиційно використовуються рідними програмами, які тепер доступні для веб-додатків.

Традиційно рідні функції, якими також можуть користуватися PWA

Ці функції охоплюють велику кількість випадків використання, і багато популярні в даний час додатки можна переписати як PWA. Візьміть, наприклад, Слабість. Його альтернатива з відкритим кодом, Rocket.Chat, будує версію PWA . Докладніше про демонстрації PWA див. На https://pwa.rocks .

Рідні функції, що надходять до PWA

Рідні Android-функції ще не доступні для інвалідів PWA

  • доступ до датчика відбитків пальців (у стадії розробки )
  • доступ до контактів, календаря та веб-переглядачів (відсутність доступу до них може розглядатися як функція , що усвідомлює конфіденційність користувачів)
  • тривоги
  • функції телефонії - перехоплювати SMS-повідомлення або дзвінки, надсилати SMS / MMS, отримувати номер телефону користувача, читати голосову пошту, телефонувати без дзвінка Dialer
  • низький рівень доступу до деяких апаратних функцій та датчиків: ліхтарика, датчика атмосферного тиску
  • системний доступ: управління завданнями, зміна системних налаштувань, журнали

Прогресивні веб-програми пропонують функції, яких не вистачає рідних програм

  • відкритість - вміст у прогресивних веб-додатках легко знайти в пошукових системах, але вміст, орієнтований на вміст, наприклад StackOverflow, не відображатиметься серед результатів пошуку магазину додатків для вмісту, до якого він пропонує доступ, наприклад, "pwa vs. native". Це проблема для спільнот на зразок Reddit, які не можуть виставляти свої численні підспільноти до магазину додатків як окремих "додатків".
  • пов'язаність - будь-яка сторінка / екран може мати пряме посилання, яким можна легко поділитися
  • закладка - збережіть це посилання, щоб отримати доступ безпосередньо до перегляду програми
  • завжди свіжий - не потрібно відвідувати магазини додатків, щоб надсилати оновлення
  • універсальний доступ - не поширюється в магазинах додатків іноді довільної політики або (ненавмисних) географічних обмежень
  • велика економія даних , надзвичайно важлива на ринках, що розвиваються, з дорогим та / або повільним доступом до Інтернету. Наприклад, веб-сайт Konga для електронної комерції скоротив використання даних на 92% під час першого завантаження, перейшовши на PWA .
  • низьке тертя розповсюдження - якщо ваш прогресивний веб-додаток в Інтернеті, він уже доступний для користувачів Android (та інших мобільних пристроїв).

Підсумкове зауваження: PWA працюють із однаковою базою коду на робочому столі, а також на більшості мобільних пристроїв. У робочих середовищах (ChromeOS і пізніших Mac і Windows) вони запускаються так само, як і інші програми, і запускаються у звичайному вікні програми (без вкладки браузера).


1
Невелика примітка: за допомогою програми «Миттєві програми для Android» ви можете стверджувати, що Native Apps (принаймні на Android) більше не бракує можливості зв’язку.
shawnjan

Гарна відповідь, Дане! Чи існує спосіб, щоб PWA отримали доступ до телефонного номера хост-пристрою?
Олександр Міллс

@Alexander: ні (див. Пул "Особливості телефонії"), оскільки це було б порушенням конфіденційності. Спробуйте використовувати замість автозаповнення .
Дан Даскалеску


12

Основна перевага для власних додатків полягає в тому, що вони можуть отримати доступ до всіх нативних API, які може запропонувати платформа (контакти, спалах камери, SMS, телефонія, мережа, bluetooth, датчики, необроблені розетки ...), тоді як прогресивний веб-додаток не може (поки) оскільки вони обмежені можливостями Standard Web.

Метою прогресивних веб-додатків є розширення цих можливостей для охоплення найважливіших випадків. У такому настрої погляньте на прогресивні веб-програми: вкладки "Ескапація", не втрачаючи душу, де ви можете знайти список того, що має пропонувати прогресивна веб-програма:

  • Чуйний: підходить під будь-який форм-фактор
  • Незалежність підключення: Поступово покращується з сервісними працівниками, щоб вони могли працювати в автономному режимі
  • Взаємодія, подібна до додатків: прийняти модель програми Shell + Content, щоб створити навігаційні програми та взаємодії з додатками
  • Свіже: очевидно, завжди оновлене завдяки процесу оновлення Service Worker
  • Безпечно: Обслуговується через TLS (вимога сервісного працівника), щоб запобігти проскоку
  • Відкриваються: ідентифікуються як "додатки" завдяки W3C Manifests та області реєстрації службовців, що дозволяють пошуковим системам їх знаходити
  • Повторне залучення: може отримати доступ до інтерфейсів повторного залучення ОС; наприклад, натисніть сповіщення
  • Встановлюється: на головний екран за допомогою підказок браузера, що дозволяє користувачам зберігати додатки, які вони вважають найкориснішими, без клопоту магазину додатків
  • Зв'язування: означає, що вони мають нульове тертя, встановлюють нуль і легко ділитися. Суспільна сила URL-адрес має значення.

З цих точок, що пов'язуються була одна з перших характеристик імпортованих нативних додатків з відкритого Інтернету у вигляді мобільного глибокої зв'язуванні .

Але особливої ​​згадки заслуговує комбінований свіжий + інстальований, оскільки він є однією з головних переваг Інтернету як платформи перед рідними альтернативами. Тут встановлення означає, що воно з’являється на вашому головному екрані. Це не означає, що вам потрібно пройти етапи завантаження та встановлення. Ви відкриваєте URL-адресу або відкриваєте службу під час перегляду, і це зроблено: вона з’являється на головному екрані .

Фреш стосується того, як працює звичайна веб-сторінка, пропонуючи миттєве завантаження та безперервне оновлення. Вас не просять встановлювати оновлення з мережі YouTube, воно розгорнуте, і ви споживаєте його наступного разу, коли його відвідаєте.

Я не говорю про переваги решти пунктів, тому що ви просили відмінності, і, наприклад, повторне залучення - це те, що вже існують у власних додатках через push-служби та сповіщення, і тепер веб-додатки наздогнали.

Інше пов'язане та ключове питання - це те, яка платформа більше підходить для ваших потреб. Якщо ви не маєте доступу до спеціальних апаратних можливостей, Інтернету повинно бути достатньо, і вибираючи Інтернет, на якому ви не вільні від ринків, майнових екосистем, і, до речі, ви можете забезпечити певний ступінь повсюдності та сумісності .

На завершення я рекомендую переглянути веб-сайт www.flipkart.com із мобільного пристрою з Chrome. Це досить приголомшливо: ніяких помилок, плавної навігації, відчуття, що нагадує додаток. Перейдіть в офлайн, і він продовжить працювати. По-справжньому реальний приклад цього посту. Додайте додаток на головний екран, і наступного разу, коли ви відкриєте його, досвід буде ще кращим.

Ви можете подивитися на Firefox OS , а також приклад приведення більше платформних API до стандартної веб-сторінки (з більш-менш успіхом).


PWA можуть фактично отримати доступ до камери, а також до декількох датчиків .
Дан Даскалеску
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.