Visual Studio 2019에서 Blazor WebAssembly App을 선택 후,
추가 정보의 Progressive Web Application을 선택하면
컴파일 후 실행했을 때 다음과 같이 설치 아이콘이 활성화 되는것을 볼 수 있습니다.
설치후,
다음과 같이 PWA형태로 실행됨을 볼 수 있습니다.
설치되었으므로 이후 설치된 어플리케이션 처럼 접근해서 실행할 수 잇습니다.
모바일도 크롬의 메뉴를 통해 유사하게 설치 가능합니다.
Xamarin Forms가 많이 최적화 되었지만 여전히 설피 파일의 크기가 크고, 최초 실행될 때의 대기시간이 긴 편이므로, PWA가 대안이 될 수 있습니다. 특히, Blazor와 결합한다면 현업에서도 괜찮은 대안이 되지 않을까 합니다.
※ 물론 Blazor WebAssembly 형태는 모바일에서 상당히 느린 로딩시간을 가지므로 아직은 비추천입니다.
확인 결과 PWA는 Blazor와 종속성이 없습니다. 즉, Blazor Server로도 PWA를 사용할 수 있습니다. 확인하기 위해 Blazor WebAssembly에 PWA를 체크하여 프로젝트를 생성한 후, 아이콘 파일, manifest.json, service-worker.js를 wwwroot에 복사한 후, _Host.cshtml에 아래와 같이 추가하면 됩니다.
최근에 저도 사용해본적이 있어 내용을 첨언합니다~~
PWA는 브라우저에서 지원되면 되는 기능입니다.
대부분의 PC브라우저 및 모바일 크롬등이 잘 지원합니다.
PWA는 모바일에서 플레이스토어 등을 거치지 않고 앱처럼 설치기능을 부여 가능하게합니다.
기타 service-worker.js를 통해 몇가지 기능등이 가능합니다.
PC에서도 위의 설명처럼 가능합니다.
IOS에서도 가능합니다.
네이버앱이나 카톡등 인앱브라우저에서는 설치가 지원하지 않습니다.
인앱브라우저에서 탈출시켜 크롬으로 사이트를 열게 하는 방법등이 이용됩니다.
BeforeInstallPromptEvent를 이용해서 사이트본문에 설치링크를 처리할수도 있습니다.