Blazor... O bom e velho .Net agora rodando no navegador, sem precisar de plugins. E não é bruxaria tipo Silverlight. É só .Net, mas agora ele está em ação com o WebAssembly. A Microsoft aposta no Blazor como nova arma no ASP.NET. Quer mais? Confira: Blazor - Agora é oficialmente do ASP.NET.
Pegue seu café e VAMOS AO CÓDIGO!
Vamos criar um app Blazor. Não vou ficar te mimando! O resultado final está aqui, mas siga o passo a passo se for corajoso.
Antes de começar, veja os pré-requisitos.
Pré-Requisitos
- Visual Studio 2017 v15.7 ou mais recente - Baixar
- .Net Framework 2.1 Preview 2 - Baixar
- Extensão do Visual Studio - Baixar
- SQL Server - Baixar
Agora que está tudo prontinho, vamos nessa! Pronto para começar?
Criando uma aplicação Blazor
Crie um projeto Blazor: (File > New > Project > .NET Core > ASP.NET Core Web Application). Na próxima tela, escolha Blazor e clique em OK.
Três projetos vão aparecer:
- Client: O frontend! O .Net no navegador.
- Server: Faz o papel do servidor.
- Shared: Código compartilhado entre cliente e servidor.
Projeto BlazorBasico.Shared
Aqui será rápido. Faça pequenas mudanças.
Crie uma pasta Models e adicione a classe Produto.
Projeto BlazorBasico.Server
Adicione o EntityFramework ao projeto Server. Vá em Manage Nuget Packages e procure por Microsoft.EntityFrameworkCore.SqlServer. Use a versão 2.1.0.
Em seguida, crie uma pasta Context e adicione a classe BlazorDBContext.cs com o código abaixo.
Esta classe irá configurar o banco e fazer migrations.
Use os comandos no Package Manager:
Configure o contexto visualmente.
Adicione uma nova Controller chamada ProdutoController e coloque o código nela.
BlazorBasico.Client
Exclua os arquivos Counter e FetchData.
Crie um novo Razor Pages na pasta Pages, chame de Produto.cshtml.
Serão criados dois arquivos: Produto.cshtml e Produto.cshtml.cs.
No Produto.cshtml.cs, adicione:
O que foi feito
O HttpClient realiza chamadas API. IUriHelper ajuda com URLs. OnParametersSetAsync é chamado quando a rota é ativada.
Produto.cshtml
Use o Razor nesse arquivo conforme suas necessidades.
wwwroot/index.html
Substitua o conteúdo:
wwwroot/css/site.css
Atualize com estas regras:
Agora, rode o projeto e teste!
Download

Código disponível no GitHub.
Atenção: Anti-vírus
O Kaspersky pode bloquear seu projeto. Cuidado com o mono.js! Desative se precisar.