Когда у нас есть собственное / гибридное мобильное приложение, оно обычно сводится к действиям пользователя через пользовательский интерфейс мобильного приложения, которые изменяют состояние приложения.
Но теперь, когда у нас есть прогрессивное веб-приложение (которое, возможно, еще не является полноэкранным пользовательским интерфейсом, поскольку пользователь еще не добавил его на главный экран и т. Д.), Мы наследуем несколько дополнительных действий пользователя, которые мы должны рассматривать как источник истины:
- Пользователь может изменить / ввести новый URL
- Пользователь может перейти назад / вперед
- Пользователь может нажать обновить
Итак, давайте предположим контекст ниже:
- у нас есть PWA с несколькими лентами загрузки: домашняя страница, aboutpage,
userpage.
- для этого примера нет логина и пр.
- когда пользователь переходит на www.ourprogressivewebapp.com, на который он попадает
домашняя страница: https://ourprogressivewebapp.com/#/home.page
- у нашего стека навигации PWA теперь есть rootPage = homepage
Вопросы с указанным выше «состоянием»:
Что происходит, когда пользователь нажимает обновление в этот момент? Есть ли разница в поведении приложения между тем, когда пользователь впервые вводил исходный URL-адрес (www.ourprogressivewebapp.com) и когда они нажимали кнопку «обновить» (где теперь в поле адреса показывалось https://ourprogressivewebapp.com/#/home.page)
Теперь, если пользователь щелкнул внутри пользовательского интерфейса приложения "перейти на страницу", которая
Ленивый загружен и был помещен в стек навигации (пользователь видит:
https://ourprogressivewebapp.com/#/about.page, rootpage - домашняя страница, но у нас также есть страница в стеке). Что произойдет, если пользователь нажимает обновить сейчас? приложение "пропустит" загрузку домашней страницы?
Последнее, теперь пользователь нажал на страницу пользователя, и она также была «нажата» в
стек навигации (https://ourprogressivewebapp.com/#/user.page). Что
произойдет, если этот пользователь начнет нажимать «назад» в своем браузере?
будет ли это интерпретироваться как метод pop (), и эти страницы будут идти
«вне стека» или что на самом деле происходит в этом сценарии из состояния приложения
перспектива?
Я ищу либо прямые ответы, либо помощь, чтобы указать мне на статьи, в которых подробно описывается это поведение.