Bom, deixa eu contar como foi minha aventura com esse tal de Blazor. Eu já mexia com C# há um tempo, principalmente coisa pra desktop ou uns back-ends mais tradicionais. Aí comecei a ouvir falar desse Blazor, que dava pra fazer coisa pra web usando C# no lugar de ficar só no JavaScript. Fiquei curioso, né? Pensei: “será que funciona mesmo? Menos JavaScript na minha vida seria bom”.

Então, decidi meter a mão na massa. Primeira coisa foi garantir que meu .NET SDK tava atualizado. Abri o terminal e mandei um dotnet --version
pra conferir. Tudo certo. Aí fui criar o primeiro projetinho. Lembro que usei o comando lá, algo tipo dotnet new blazorwasm
, pra testar o WebAssembly, que era o que mais me chamava atenção. A ideia de rodar C# direto no navegador parecia coisa de outro mundo.
Os primeiros passos e tropeços
Criei o projeto e abri no Visual Studio Code, que eu já usava bastante. Rodei o negócio pra ver o que saía. E não é que subiu uma pagininha básica funcionando? Tinha um contador lá, um exemplo de pegar dados… Achei legal de cara. A estrutura de componentes me lembrou um pouco outros frameworks de front-end, o que ajudou a não ficar totalmente perdido.
Mas aí começaram as dificuldades. Entender como os componentes conversavam entre si, como passar dados pra lá e pra cá, deu um nó na cabeça no começo. A parte de chamar JavaScript a partir do C# (e vice-versa), o tal do JS Interop, nossa… isso aí me deu um trabalhão. Parecia que eu tava lutando contra a ferramenta às vezes.
Entendendo o ciclo de vida
Outra coisa foi pegar o jeito do ciclo de vida dos componentes. Quando que ele inicia? Quando atualiza? Quando morre? Tinha um monte de método tipo OnInitializedAsync
, OnParametersSetAsync
, ShouldRender
… Demorei um pouco pra sacar a ordem e pra que servia cada um na prática. Fui fuçando, colocando uns logs ( mesmo, na raça) pra ver o que acontecia por baixo dos panos.

Fazendo algo de verdade (ou quase)
Depois de apanhar um pouco com os exemplos básicos, resolvi tentar fazer algo um pouquinho mais útil. Pensei numa lista de tarefas, bem simplesinha mesmo. Tinha que:
- Adicionar tarefa
- Marcar como concluída
- Listar tudo
Aí sim comecei a sentir o negócio funcionando. Criei um componente pra tarefa individual, outro pra lista. Usei binding pra ligar os campos do formulário com as propriedades no C#. Quando vi a lista atualizando na tela sem precisar recarregar a página, só com código C#, confesso que achei bem massa. A parte de guardar os dados eu fiz na memória mesmo, só pra testar, sem banco de dados nem nada complicado.
Também testei o Blazor Server. A ideia é diferente, o código roda no servidor e a interface é atualizada via SignalR. Achei interessante pra aplicações internas, talvez, onde a latência não é um problemão. Mas pro meu teste inicial, o WebAssembly pareceu mais “revolucionário”, apesar de o download inicial ser maior.
O que ficou dessa brincadeira
No fim das contas, minha experiência foi positiva. Não vou dizer que é perfeito. Tem hora que dá umas engasgadas, especialmente com o JS Interop ou quando a aplicação começa a ficar grande. O tamanho do download inicial do WebAssembly também é algo pra se pensar.
Mas a possibilidade de usar C#, uma linguagem que eu já conhecia bem, pra fazer o front-end, compartilhando código com o back-end… isso é muito forte. Pra quem vem do mundo .NET, a curva de aprendizado é bem menor do que começar um framework JavaScript do zero.

Hoje eu não uso Blazor todo dia, meu trabalho principal ainda envolve outras tecnologias. Mas sempre que surge uma oportunidade, um projetinho paralelo ou uma prova de conceito, eu considero ele sim. Foi um aprendizado válido, abriu a cabeça pra novas possibilidades no desenvolvimento web. E o principal: vi que dá pra fazer coisa legal pra web sem depender tanto assim do JavaScript o tempo todo. Pra mim, valeu a pena ter gasto esse tempo fuçando.