Что происходит, когда пользователь использует действия браузера с Angular 5 / Ionic 3 PWA? - PullRequest
0 голосов
/ 29 июня 2018

Когда у нас есть собственное / гибридное мобильное приложение, оно обычно сводится к действиям пользователя через пользовательский интерфейс мобильного приложения, которые изменяют состояние приложения.

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

  • Пользователь может изменить / ввести новый URL
  • Пользователь может перейти назад / вперед
  • Пользователь может нажать обновить

Итак, давайте предположим контекст ниже:

  • у нас есть PWA с несколькими лентами загрузки: домашняя страница, aboutpage, userpage.
  • для этого примера нет логина и пр.
  • когда пользователь переходит на www.ourprogressivewebapp.com, на который он попадает домашняя страница: https://ourprogressivewebapp.com/#/home.page
  • у нашего стека навигации PWA теперь есть rootPage = homepage

Вопросы с указанным выше «состоянием»:

  1. Что происходит, когда пользователь нажимает обновление в этот момент? Есть ли разница в поведении приложения между тем, когда пользователь впервые вводил исходный URL-адрес (www.ourprogressivewebapp.com) и когда они нажимали кнопку «обновить» (где теперь в поле адреса показывалось https://ourprogressivewebapp.com/#/home.page)

  2. Теперь, если пользователь щелкнул внутри пользовательского интерфейса приложения "перейти на страницу", которая Ленивый загружен и был помещен в стек навигации (пользователь видит: https://ourprogressivewebapp.com/#/about.page, rootpage - домашняя страница, но у нас также есть страница в стеке). Что произойдет, если пользователь нажимает обновить сейчас? приложение "пропустит" загрузку домашней страницы?

  3. Последнее, теперь пользователь нажал на страницу пользователя, и она также была «нажата» в стек навигации (https://ourprogressivewebapp.com/#/user.page). Что произойдет, если этот пользователь начнет нажимать «назад» в своем браузере? будет ли это интерпретироваться как метод pop (), и эти страницы будут идти «вне стека» или что на самом деле происходит в этом сценарии из состояния приложения перспектива?

Я ищу либо прямые ответы, либо помощь, чтобы указать мне на статьи, в которых подробно описывается это поведение.

1 Ответ

0 голосов
/ 02 июля 2018

В предварительных условиях, Нажатие назад и обновление возможно даже после добавления на главный экран. Назад можно выполнить с помощью «кнопки возврата Android» или с помощью жестов в iOS и некоторых устройствах Android. Вниз страницы обновит страницу. Невозможно изменить только URL, так как адресная строка не видна.

При всех условиях маршрутизации это не имеет ничего общего с PWA. все зависит от того, как реализован Angular Route, и поведение такое же, как и у приложений без PWA. У нас есть наше приложение Angular в dev, где мы не используем режим PWA (поведение по умолчанию в Angular 6+) и режим PWA в сборке prod. Маршрутизация и обновление одинаковы в обоих режимах и работают так же, как кодируется наша маршрутизация.

...