Por Que as Empresas Escolhem Blazor?

Por Que as Empresas Escolhem Blazor?

Blazor é uma das coisas mais produtivas que a Microsoft já lançou, e eu já vi várias empresas jogarem ele fora. Não porque seja ruim, mas porque quase ninguém entende o que está pagando de verdade pra rodar ele. E não é o WebSocket.


Por que as empresas escolhem Blazor para seus projetos?

Com o Blazor, especialmente quando utilizamos bibliotecas de componentes como o Syncfusion, o desenvolvimento se torna extremamente rápido e fácil de manter, mantendo ao mesmo tempo um nível de qualidade muito alto.

Com praticamente um Ctrl+C e Ctrl+V, você pode adicionar um quadro Kanban completo e se concentrar apenas na entrada e saída dos seus dados na seção @code, em vez de gastar seu tempo configurando eventos, lógica de UI e ciclos de vida dos componentes.

<SfKanban CssClass="kanban-overview" KeyField="Status" DataSource="@CardData" EnableTooltip="true">
    <KanbanColumns>
        <KanbanColumn HeaderText="To Do" KeyField="@(new List<string> { "Open" })" AllowToggle="true"></KanbanColumn>
        <KanbanColumn HeaderText="In Progress" KeyField="@(new List<string> { "InProgress" })" AllowToggle="true"></KanbanColumn>
        <KanbanColumn HeaderText="In Review" KeyField="@(new List<string> { "Review" })" AllowToggle="true"></KanbanColumn>
        <KanbanColumn HeaderText="Done" KeyField="@(new List<string> { "Close" })" AllowToggle="true"></KanbanColumn>
    </KanbanColumns>

    <KanbanCardSettings ContentField="Summary" HeaderField="Title" SelectionType="@SelectionType.Multiple">
    </KanbanCardSettings>

    <KanbanSwimlaneSettings KeyField="Assignee"></KanbanSwimlaneSettings>
</SfKanban>

@code {
    private List<KanbanDataModel> CardData = new KanbanDataModel().GetCardTasks();
}

Este é o resultado:
Syncfusion Kanban board rendered in Blazor 

ℹ️ Documentação e demonstração ao vivo:
https://blazor.syncfusion.com/demos/kanban/overview?theme=bootstrap5

Uma observação sobre licenciamento, porque essa é uma dúvida que sempre aparece.

Syncfusion e Telerik são produtos comerciais, mas a Syncfusion possui uma Community License que atende muito mais pessoas do que muitos imaginam: empresas e indivíduos com menos de US$ 1 milhão em receita bruta anual, até cinco desenvolvedores e até dez funcionários no total.

Existe ainda uma cláusula adicional importante: a organização nunca pode ter recebido mais de US$ 3 milhões em capital externo, como private equity ou venture capital.

Como desenvolvedor individual, estou bem dentro desses requisitos, assim como a maioria das pequenas empresas e projetos pessoais.

Caso você não se enquadre nesses critérios, MudBlazor e Radzen são alternativas gratuitas que oferecem grande parte da mesma produtividade.

🚀 Uma Stack Unificada

Outra vantagem grande é não ter que acompanhar várias tecnologias ao mesmo tempo.

Em vez de dominar uma stack de back-end e outra completamente diferente de front-end, você usa C# na aplicação inteira. Reaproveita entidades, validações e lógica de negócio direto no front, compartilhando código entre as camadas. Tudo a partir de uma IDE só.

A Microsoft lança uma versão nova do .NET todo ano, em novembro, com uma versão nova de C# e um monte de feature. Agora imagina acompanhar tudo isso e ainda acompanhar um ecossistema separado tipo Angular, JavaScript, TypeScript e qualquer ferramenta de build que estiver na moda naquele ano.

Se você só precisa se preocupar com Blazor, dá pra gastar esse tempo aprendendo design patterns e arquitetura em vez de correr atrás de framework em duas linguagens.


🧩 Menos Complexidade

Dependendo da arquitetura que você escolher, você pode nem precisar de API. Com Blazor Server ou SSR dá pra injetar serviços e repositórios direto nos componentes. Se precisar de API depois, cria como projeto separado. Essa flexibilidade corta bastante complexidade inicial.

Vale a ressalva: isso vale só para os render modes server-side. Blazor WebAssembly roda no browser, então sempre precisa de uma API pra chegar nos dados.


🌐 Integração com Visual Studio e Azure

A integração com Visual Studio e Azure é excelente. Alguns cliques pra criar o projeto a partir dos templates da Microsoft, mais alguns pra publicar no Azure. Pra time que já está em .NET, isso corta muito tempo de setup e deploy.


📚 O Mesmo Ecossistema .NET

Os mesmos pacotes que você já usa no back-end costumam funcionar no front também. Tudo passa pelo NuGet. Menos tecnologia pro time aprender e sustentar.

💡Benefício: desenvolvedores de back-end conseguem construir front-end moderno com uma curva de aprendizado muito baixa, usando bibliotecas de componentes pra montar dashboards, grids, gráficos e interfaces complexas sem virar especialista em framework JavaScript.


🖥️ MAUI Blazor Hybrid

Existe um template do Visual Studio chamado MAUI Blazor Hybrid. Com ele você reaproveita back-end e front-end e entrega para:

  • Web
  • Windows
  • macOS
  • Android
  • iOS

Praticamente a mesma base de código, a mesma IDE, as mesmas tecnologias. Do ponto de vista de produtividade é difícil achar algo comparável dentro do ecossistema Microsoft.


👥 Times Mais Flexíveis

Tem um benefício organizacional também. Quando alguém sai de férias ou entra de licença, outro desenvolvedor assume com muito menos atrito. A aplicação inteira vive em um ecossistema só, então a transferência de conhecimento é bem mais fácil.


🔄 Evolução Contínua da Plataforma

Escolher Blazor é investir numa plataforma que a Microsoft mantém ativamente. Um bom exemplo são os Render Modes, que chegaram no .NET 8. Com eles você decide, por componente, se ele roda no servidor ou no cliente. É essa feature que torna possível a arquitetura que eu descrevo mais pra frente.


⚡ Lista Rápida das Vantagens

  • ✅ Desenvolvimento full-stack usando só C#.
  • ✅ Reuso de entidades, validações e regras de negócio entre back-end e front-end, inclusive entre múltiplas plataformas.
  • ✅ Menos duplicação de código e mais produtividade.
  • ✅ UI rápida com bibliotecas de componentes como Syncfusion, Telerik, MudBlazor ou Radzen.
  • ✅ Integração nativa com Visual Studio, Identity, Dependency Injection e o resto do ecossistema .NET.
  • ✅ Deploy simplificado no Azure.
  • ✅ Geração automática de CRUD via scaffolding.
  • ✅ Blazor WebAssembly suporta uso offline.
  • ✅ Render Modes permitem misturar SSR, Server e Client na mesma aplicação.
<SfKanban CssClass="kanban-overview" KeyField="Status" DataSource="@CardData" EnableTooltip="true">
    <KanbanColumns>
        <KanbanColumn HeaderText="To Do" KeyField="@(new List<string> { "Open" })" AllowToggle="true"></KanbanColumn>
        <KanbanColumn HeaderText="In Progress" KeyField="@(new List<string> { "In Progress" })" AllowToggle="true"></KanbanColumn>
        <KanbanColumn HeaderText="In Review" KeyField="@(new List<string> { "Review" })" AllowToggle="true"></KanbanColumn>
        <KanbanColumn HeaderText="Done" KeyField="@(new List<string> { "Close" })" AllowToggle="true"></KanbanColumn>
    </KanbanColumns>
    <KanbanCardSettings ContentField="Summary" HeaderField="Title" SelectionType="@SelectionType.Multiple"></KanbanCardSettings>
    <KanbanSwimlaneSettings KeyField="Assignee"></KanbanSwimlaneSettings>
</SfKanban>

@code { private List<KanbanDataModel> CardData = new KanbanDataModel().GetCardTasks(); }

Syncfusion Kanban board rendered in Blazor

Comments (0)

Leave a Comment

Be the first to comment!