Ответы пользователя по тегу Progressive web applications
  • Как выбрать архитектуру автономного веб-приложения?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Архитектура приложения разве может быть универсальной? Она зависит от самого приложения. Автономность - это скорее отдельное свойство архитектуры, чем ее стержень, но опять же зависит от конкретной задачи.

    Например, если это приложение для ресторана, то логично предположить, что в какой-то момент у юзера может не быть связи или кончились деньги на телефоне. И если до этого удалось успеть загрузить номер заказа через WiFi, которого уже нет, то с этой информацией всё равно можно работать. Как именно - вопрос уже скорее дизайна, чем архитектуры. В противовес этому можно не заморачиваться и показывать заглушку о недоступности Интернета, но это будет бесить некоторых клиентов.

    С базой данной сложнее, конечно же. В идеале стоит дать пользователю контролировать, что именно он хочет хранить локально. Но если данных не так уж и много (больше 5 Мб, но не гигабайты), то можно и всю базу скопировать, а потом обновлять ее. Возможно, стоит сделать упор на то, как обновлять базу мелкими патчами, если это делается часто, либо тупо перезагружать всю базу заново, если это делается редко. В общем, повторюсь, архитектура и ее детали зависят от задачи, и автономность это, скорее всего, всего лишь одна фича из многих.
    Ответ написан
    6 комментариев
  • Как запретить доступ к сайту PWA в обход Google Play и App Store?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно продавать ключи доступа.

    При этом в целом не важно, сайт это или PWA, ведь разница лишь в удобстве для пользователя (отдельная иконка, отсутствие строки адреса, работа в оффлайне и прочие приятности).
    Ответ написан
    Комментировать
  • Как внести изменения и сделать deploy в код PWA приложение?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если манифест на сервере поменять хотя бы на байт, то в течение суток приложение гарантированно обновится (при наличии инета естественно).

    А так точно помню, что делал кнопку обновления приложения в фоне ещё до изобретения всяких сервис воркеров. Но это было так давно, что уже не скажу, какой был механизм. Как-то проверялось, есть обновление или нет, и выводилось пользователю в настройках приложения, и далее он мог обновиться при желании.

    Вообще попробуйте банально location.reload();
    Ответ написан
    Комментировать
  • Почему не работает javascript в PWA?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Проблема может быть в ошибке javascript. Либо синтаксическая, тогда весь код не работает. Либо фатальная, тогда весь код ниже места с ошибкой не работает.

    Ещё может быть, что javascript отключён в браузере.
    В iOS, например, есть такая опция
    5d1f16f737090033183598.png
    Ответ написан
  • Как отследить закрытие PWA?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В случае убийства, PWA ничего не успеет сделать. С таким же успехом можно буквально прострелить телефон огнестрельным оружием или бросить в кислоту.

    Просто найдите сбалансированную цифру, сколько держать сессию. Зависит от цены создания и поддержания сессии.

    Чуть более умный вариант, если создание сессии дорогое - сделать кеш на стороне сервера конкретно для сессий, чтобы не сразу их удалять, но и не поддерживать полноценно. А если юзер вернётся, то с минимальными затратами восстановить сессию.

    И ещё более умный вариант - как-то отслеживать (условно) "характер" пользователя. Например, если зашёл и закрыл, то сессия удаляется довольно быстро. А если вернулся через час, или на следующий день, то перевести пользователя в статус "активный", и для него вообще таймаут можно на пару дней поставить. Ну, опять же, в случае высокой цены создания сессии. Честно говоря, мне сложно представить задачу, где цена настолько высока, чтобы так заморачиваться.
    Ответ написан
    Комментировать