DEV Community

Leandro Torres
Leandro Torres

Posted on • Edited on

3 1

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

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more