Estou tentando tomar uma decisão entre o novo Blazor Web App no .NET 8 e a opção independente Blazor WASM. Não estou muito certo sobre a obtenção de dados na nova abordagem unificada.
Os Blazor Web Apps sempre chamam um ponto final da API por meio de um HttpClient
ou existe uma maneira direta de obter dados, semelhante à abordagem MVC?
Entendo que uma das principais vantagens do novo modelo de Web App é a renderização rápida de páginas/componentes devido às opções flexíveis que ele oferece, por exemplo, renderização de servidor, streaming, etc., o que significa que há um servidor que executa .NET. Se for esse o caso, ser capaz de buscar dados sem a necessidade de serializar/desserializar seria um benefício OU é sempre uma chamada para um endpoint da API e desserializar os dados. Gostaria de saber como isso é tratado na abordagem unificada do Blazor.
Sim, você tem duas opções.
Usar a abordagem API em ambos os modos é o mais simples.
Se quiser implementar a opção do lado do servidor, você precisará projetar seu pipeline de dados para fazer isso. Basicamente, use um data broker baseado em interface que possui diferentes implementações para diferentes pontos finais.
Uma descrição sobre como fazer isso está além do escopo de uma resposta SO, mas há um documento que escrevi sobre o assunto [nos primeiros dias do Net8] aqui - https://github.com/ShaunCurtis/Blazor.ExploreRendering/blob /master/Documents/An-Interactive-Data-Pipeline.md .