Сервер Blazor pwa

#c# #blazor #progressive-web-apps

Вопрос:

Я пытаюсь выяснить, возможно ли создать PWA с сервером Blazor.

Мне кажется , что некоторые «решают» эту проблему, копируя вставку manifest.json из приложения webassembly в серверное приложение.

Это заставило меня задуматься, почему Microsoft не предоставляет флаг —pwa для запуска blazorserver в dotnet, но только в веб-сборке, если все так просто.

Спасибо!

Комментарии:

1. Сервер Blazor по своей архитектуре управляется со стороны сервера. Каждое событие в браузере отправляется на сервер, сервер изменяет состояние и отправляет обновленную разницу DOM, которая применяется на стороне клиента. PWA, по замыслу, должны использоваться в автономном режиме. Существует фундаментальная несовместимость в их целях и дизайне.

Ответ №1:

По сути, да: это возможно. Но единственное преимущество, которое вы получаете, делая это, — это возможность установить приложение на устройство. Как заявил Майур Экботе, сервер blazor работает на сервере и поэтому не может получить доступ ко всем другим функциям, предоставляемым PWA. Это также объясняет, почему Microsoft не предоставила флаг —pwa, он по сути бесполезен. Хотя я полагаю, что одна только функция установки может стоить того, чтобы сделать ее PWA.

Если вы хотите сделать свой сервер blazor PWA, вам необходимо иметь как manifest.json, так и зарегистрированного сотрудника службы. В противном случае браузер не будет воспринимать его как PWA. Для получения более подробных требований к установке проверьте это.

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