Blog · Sistemas legados
Modernizar ASP.NET Web Forms para Blazor: o caminho
Web Forms sustentou uma geração inteira de sistemas corporativos .NET. Mas o modelo de postback e ViewState ficou para trás, e a Microsoft não evolui mais a tecnologia. Se você tem um sistema em Web Forms, a boa notícia é que ele está muito mais perto do .NET moderno do que um VB6 — e dá para migrar por partes.
Por que Web Forms virou legado
Web Forms resolveu bem o seu tempo, mas carrega decisões que hoje pesam: o ciclo de postback a cada interação, o ViewState que engorda as páginas, o acoplamento entre interface e lógica no code-behind e a dificuldade de testar. Além disso, ele só roda no .NET Framework — que a Microsoft mantém, mas não evolui. Todo o investimento novo da plataforma está no .NET atual (o antigo ".NET Core").
A vantagem de quem vem do Web Forms
Diferente de um VB6, um sistema Web Forms já é C#/.NET, já é web e muitas vezes já tem uma camada de acesso a dados separável. Isso significa que boa parte da lógica de negócio pode ser reaproveitada — o trabalho maior está na interface e em desacoplar o que ficou preso ao code-behind.
Para onde migrar: por que Blazor
Blazor é a evolução natural para quem quer continuar no ecossistema .NET/C# sem reescrever tudo em JavaScript. Você reusa o conhecimento da equipe, compartilha código entre cliente e servidor e fica em uma tecnologia que a Microsoft está ativamente investindo. Dois modelos:
- Blazor Server — a interface roda no servidor e conversa com o navegador por uma conexão em tempo real. Migração mais simples, ideal para sistemas internos com rede boa.
- Blazor WebAssembly — a interface roda no navegador, funciona offline e alivia o servidor. Melhor para apps públicos ou de uso intenso, ao custo de um carregamento inicial maior.
Quando faz sentido, também usamos Angular no front — a escolha sai do caso, não da preferência.
Os dois caminhos de migração
Migração gradual (recomendada para sistemas grandes)
O sistema Web Forms continua no ar enquanto as telas novas nascem em Blazor. Um proxy reverso (como o YARP) fica na frente e decide, por rota, o que serve o legado e o que serve o novo — o usuário nem percebe que está transitando entre os dois. Aos poucos, cada módulo migra, começando pelo que mais precisa, até o Web Forms ficar sem função. É o mesmo princípio de estrangulamento que usamos para não parar a operação.
Reescrita (para sistemas pequenos)
Se o sistema é enxuto, às vezes reescrever direto em Blazor sai mais rápido do que manter duas bases convivendo. Mesmo aqui, reaproveitamos a lógica de negócio e o banco, e entregamos por fases.
O que costuma dar trabalho (e vale planejar)
- Controles de terceiros (grids, relatórios) presos ao Web Forms precisam de equivalentes modernos.
- Lógica no code-behind misturada com a tela tem que ser separada em serviços testáveis antes de migrar.
- Autenticação e sessão mudam de modelo — é o momento de modernizar a segurança.
- Relatórios antigos (Crystal, RDLC) costumam exigir uma decisão à parte.
Em resumo
Modernizar Web Forms para Blazor é um dos caminhos de menor risco dentro do mundo do legado .NET: a linguagem é a mesma, a lógica se reaproveita e a migração pode ser gradual, com o sistema antigo funcionando o tempo todo. O segredo é desacoplar a lógica da tela e migrar por partes — nunca num salto único.
É esse tipo de travessia que conduzimos na Decidi. Conheça a nossa abordagem de modernização de sistemas legados.
Tem um sistema em ASP.NET Web Forms?
Conte o tamanho do sistema e o que trava hoje. Devolvemos um plano de modernização para Blazor, por fases.