DEV Community

Leandro Torres
Leandro Torres

Posted on • Edited on

Blazor WebView - App Desktop

Olá Devs! 👨‍💻

Sim, eu desenvolvo aplicações para desktop. Existem necessidades específicas que um software desktop acaba sendo aderente.

Quando falamos sobre desktop hoje, boa parte dos Devs pensa imediatamente em: "Electron". Sei que temos muitas aplicações desenvolvidas assim, já desenvolvi assim, mas o resultado não me agrada muito. Quem sabe depois escrevo um post sobre isso. Para esse tipo de aplicação, minha opção acabou sendo um modelo híbrido, uma mistura de WindowsForms + CefSharp + Nancy. O resultado é bem satisfatório, mas acredito que pode melhorar bastante, e é ai que entra o Blazor WebView.

Estou sempre em busca de novas possibilidades e achei artigos interessantes que me fizeram pensar e querer colocar em prática. Vou aproveitar para conhecer o Blazor, já que estou devendo esse estudo faz um tempo.

Com as novas versões de SDK do .Net, sei que muita coisa vai mudar e/ou melhorar com relação ao Desenvolvimento Desktop, mas vou começar estudando essa alternativa. A ideia é entender o funcionamento e criar algo, simples e leve.

Esse desenvolvimento esta sendo feito com o SDK 6.0 preview e o VS2019. Após a instalação do SDK, você precisa configurar o VS2019 para que ele consiga trabalhar com a versão preview. Para fazer essa configuração é só acessar o menu "Tools -> Options" e ativar a opção conforme na figura.

alt text

Outro ponto importante é a instalação do WebView2 Runtime, o link esta no final do artigo.

Criando o projeto e a solução

dotnet new winforms -n BlazorDesktop -f net6.0
dotnet new sln
dotnet sln add BlazorDesktop/BlazorDesktop.csproj
Enter fullscreen mode Exit fullscreen mode

Adicionando o pacote webview

dotnet add package Microsoft.AspNetCore.Components.WebView.WindowsForms --version 6.0.0-preview.3.21201.13
Enter fullscreen mode Exit fullscreen mode

Criei um repositório que vou atualizar de acordo com as necessidades. Atualizo o post se pintar novidades.

Repositório

Prereqs
SDK 6.0.100-preview.3

Microsoft Edge WebView2

Referências
Nancy - Lightweight Web Framework for .net

CefSharp - Fast web browser for WinForms and WPF Apps

ASP.NET Core updates in .NET 6 Preview 3

.NET 6 Gets Blazor WebView Controls for WPF, WinForms

Distribution of apps using WebView2

Getting Setup With .NET 6 Preview


Até a próxima! 👊
☕😊 Agora você pode apoiar comprando um café para mim

Top comments (0)