Blazor
- Auto Render Mode no .NET 8
![]() |
Neste artigo veremos os prós e os contras do novo recurso Auto Render Mode disponível no Blazor a partir do .NET 8 |
Este novo recurso é uma virada de jogo, pois fornece o melhor dos dois mundos: a velocidade do Blazor Server para renderização inicial e os recursos do lado do cliente do Blazor WebAssembly para interações subsequentes.
Ao alternar de forma inteligente entre a renderização de servidor e cliente com base na situação, o modo de renderização automática eleva a experiência do usuário, reduzindo o tempo de carregamento e melhorando o desempenho interativo, tornando o Blazor um framwork ainda mais atraente para o desenvolvimento web moderno.
Se você não conhece o Blazor e esta chegando agora vou apresentar a seguir um resumo sobre os novos modos de renderização do Blazor no .NET 8.
Modos de renderização
No Blazor, a
renderização pode acontecer no lado do cliente (o navegador do usuário)
ou no lado do servidor (o servidor web). A renderização do lado do
cliente (Blazor WebAssembly) envolve a execução do aplicativo diretamente
no navegador do usuário, enquanto a renderização do lado do servidor (Blazor
Server) processa o aplicativo no servidor, enviando as atualizações da UI
por meio de uma conexão SignalR.
Os modos de renderização são cruciais porque afetam diretamente o desempenho, a
escalabilidade e a experiência geral do usuário de um aplicativo. Por exemplo, a
renderização no lado do servidor geralmente resulta em tempos de carregamento
mais rápidos, mas pode sofrer latência durante as interações do usuário.
Cada modo de renderização apresenta vantagens e desvantagens:
Vamos ver com mais detalhes o modo de renderização Auto Render Mode.
O que é o Auto Render Mode ?
O modo de renderização automática no Blazor é uma mistura do Blazor Server e do Blazor WebAssembly, reunindo os benefícios do carregamento inicial rápido e das operações interativas do lado do cliente. Este modo é uma marca registrada do .NET 8, abordando as limitações individuais do Blazor Server e do Blazor WebAssembly. Vejamos como ele combina os recursos de ambos:
Assim, o modo de renderização automática é uma orquestração cuidadosa do Blazor, preenchendo a lacuna entre a renderização inicial rápida e as operações interativas do lado do cliente, apresentando aos desenvolvedores uma estratégia de renderização robusta e eficiente no .NET 8.
Configurando o Auto Render Mode no .NET 8
O modo de renderização automática no Blazor facilita uma abordagem de renderização equilibrada, selecionando entre renderização do lado do servidor e do lado do cliente com base nas circunstâncias. Veja como configurá-lo no .NET 8:
builder.Services.AddRazorComponents().AddInteractiveServerComponents().AddInteractiveWebAssemblyComponents();app.MapRazorComponents<App>().AddInteractiveServerRenderMode().AddInteractiveWebAssemblyRenderMode();
@rendermode
RenderMode.InteractiveAuto
Blazor
Server : @rendermode InteractiveServer
Para criar o projeto no Visual Studio 2022 utilize o template Blazor Web App :
E ao definir as configurações do projeto marque as opções :
Para criar o projeto usando a .NET CLI em um terminal de comandos emita o comando:
dotnet new blazor --
use-server
--
use-wasm
-o
Net8BlazorAuto
Potenciais desvantagens
Embora seja um recurso que se destaca, como qualquer tecnologia, ele apresenta
um conjunto de limitações que podem potencialmente impactar sua implementação em
determinados cenários:
Essas desvantagens não prejudicam os benefícios potenciais do modo de renderização automática, mas trazem à luz as considerações que os desenvolvedores devem fazer ao decidir implementar esse recurso em seus projetos Blazor.
O modo de renderização automática no Blazor, introduzido no .NET 8, serve como uma ponte entre a renderização do lado do servidor e do lado do cliente, com o objetivo de oferecer o melhor dos dois mundos, escolhendo dinamicamente o modo de renderização com base em determinadas condições. Aqui estão os pontos-chave coletados nas discussões acima:
Configuração: O modo de renderização
automática requer uma configuração estruturada no arquivo Program.cs e o uso de
diretivas específicas nas classes a serem habilitadas.
Funcionalidade: Ele escolhe inicialmente
entre a renderização do lado do servidor e do lado do cliente, mas uma vez
escolhido, o modo de renderização permanece fixo durante a vida útil do
componente.
Benefícios: Ele combina o tempo de carregamento
inicial mais rápido da renderização do servidor com as interações do lado do
cliente da renderização do WebAssembly.
Desvantagens: A falta de alternância dinâmica entre
os modos de renderização pós-decisão, a complexidade na configuração, o leve
impacto no desempenho durante o processo de tomada de decisão e a dependência
dos recursos do cliente e da velocidade da rede são algumas das limitações.
Criação do projeto: A criação e configuração do
projeto para o modo de renderização automática podem ser feitas por meio do
Visual Studio 2022 ou da CLI.
Verificação: A execução do aplicativo após a
configuração permite a verificação da funcionalidade do modo de renderização
automática, garantindo que o modo de renderização correto seja escolhido com
base nas capacidades do cliente.
Desta forma o novo recurso Auto Render Mode traz muitos benefícios, e, embora venha com certas limitações, tem o potencial de melhorar a flexibilidade de renderização e a experiência do usuário em aplicativos Blazor.
E estamos
conversados...
Traduzido e adaptado do original: https://danieldonbavand.com/2023/10/16/blazors-auto-render-mode-in-net-8/
"E sereis odiados
por todos por amor do meu nome; mas quem perseverar até ao fim, esse será
salvo."
Marcos 13:13
Referências:
C# - Tasks x Threads. Qual a diferença
DateTime - Macoratti.net
Null o que é isso ? - Macoratti.net
Formatação de data e hora para uma cultura ...
C# - Calculando a diferença entre duas datas
NET - Padrão de Projeto - Null Object Pattern
C# - Fundamentos : Definindo DateTime como Null ...
C# - Os tipos Nullable (Tipos Anuláveis)