Blazor do Zero: Uma Nova Série
Há algum tempo que escrevo sobre Blazor — ciclos de vida de componentes, CSS isolado, modelos de interatividade, autenticação. Esses posts foram úteis individualmente, mas sempre senti que faltava uma base. Eles assumem que você já sabe o que é Blazor, por que ele existe e como se encaixa no ecossistema .NET mais amplo. Nem todo mundo sabe isso, e isso é completamente normal.
Por isso, estou começando algo novo: Blazor do Zero. Uma série de verdade, construída desde os fundamentos, pensada para desenvolvedores que querem realmente entender o que estão construindo — não apenas copiar e colar até funcionar.
Para Quem É Esta Série
Esta série é para você se:
- Você é um desenvolvedor .NET que já ouviu falar em Blazor mas nunca teve o tempo ou o ponto de partida certo para se aprofundar.
- Você já experimentou Blazor, fez funcionar, mas sente que está adivinhando por que as coisas funcionam.
- Você vem do mundo JavaScript/React/Angular e quer entender como é a resposta da Microsoft para o frontend moderno.
- Você quer um recurso único e coerente em vez de documentação espalhada e posts de blog dispersos.
Você não precisa ser um desenvolvedor sênior. Você precisa, sim, se sentir confortável com os fundamentos do C# — classes, interfaces, async/await. Se você consegue escrever uma API CRUD simples em ASP.NET Core, você está pronto.
O Que Vamos Abordar
Aqui está um roteiro aproximado do que tenho planejado. Alguns tópicos se expandirão em vários posts conforme necessário:
- O que é Blazor? — Modelos de hospedagem, histórico, comparação com o desenvolvimento web tradicional
- Seu primeiro app Blazor — Scaffolding, estrutura do projeto, execução local
- Componentes — O bloco fundamental de qualquer interface em Blazor
- Data binding e eventos — Tornando sua interface reativa
- Comunicação entre componentes — Parâmetros, EventCallbacks, valores em cascata
- Roteamento e navegação — Como o Blazor lida com URLs e transições de página
- Injeção de dependência — Serviços, escopos e o contêiner DI no Blazor
- Formulários e validação — EditForm, DataAnnotations, validadores personalizados
- HTTP e dados externos — Chamando APIs a partir do seu app Blazor
- Autenticação e autorização — Protegendo seu app da forma correta
- Interop com JavaScript — Quando você precisa acessar o navegador diretamente
- Desempenho e otimização — Virtualização, lazy loading, estratégias de renderização
- Testando componentes Blazor — bUnit e como é um bom teste
- Deploy — Publicando no Azure, IIS e hosts estáticos
Esta lista vai evoluir. Alguns tópicos se dividirão em vários posts; outros podem ser fundidos. Vou atualizar este post à medida que a série avança e adicionar links para cada entrada conforme forem publicadas.
Por Que Uma Série, Por Que Agora
O Blazor amadureceu muito. Com o .NET 8 e 9, o modelo de renderização foi significativamente reformulado — SSR estático, streaming rendering, Server interativo, WebAssembly interativo e o modo Auto convivem agora sob o mesmo teto. É um framework genuinamente interessante e capaz, mas o salto em complexidade torna a experiência inicial bastante desorientadora.
Quero construir um recurso que te encontre onde você está e te guie por tudo de forma sistemática. Não é um substituto para a documentação oficial — ela é boa e você deve lê-la — mas um companheiro que explica o por quê por trás do o quê.
Como Acompanhar a Série
Cada post da série será suficientemente independente para ser lido sozinho, mas eles também vão se apoiar mutuamente. Se você está começando do zero, recomendo seguir a ordem. Se você está entrando para preencher uma lacuna específica, tudo bem também — vou linkar posts de pré-requisito onde for relevante.
O código de cada post estará disponível no GitHub. Vou compartilhar os links ao longo do caminho.
Até o próximo post.