Pular para o conteúdo
asp.net

Por que não ensino MVC para quem está começando em ASP.NET?

MVC sempre foi apresentado como o jeito certo de desenvolver em ASP.NET. Mas resolver problemas não significa ser o melhor ponto de partida — e depois de anos ensinando, cheguei a uma conclusão clara.

Essa afirmação costuma gerar estranhamento, principalmente de quem aprendeu ASP.NET há alguns anos.

MVC sempre foi apresentado como “o jeito certo” de desenvolver aplicações web na stack Microsoft. E, de fato, ele resolve muitos problemas. Mas resolver problemas não significa ser o melhor ponto de partida.

Depois de anos ensinando ASP.NET e acompanhando iniciantes, cheguei a uma conclusão clara: MVC não é a melhor porta de entrada para quem está começando hoje.

O problema não é o MVC

É o ponto de partida. Quando um iniciante começa com MVC, ele precisa entender tudo ao mesmo tempo:

  • Controllers
  • Actions
  • Model Binding
  • Filtros
  • Rotas
  • ViewModels
  • Views
  • Pastas, convenções e abstrações

Antes mesmo de entender o fluxo básico de uma aplicação web. O resultado é comum:

  • A pessoa replica código, mas não entende o fluxo
  • Sente que ASP.NET é “complexo demais”
  • Trava antes de conseguir colocar algo real em produção

E isso não é culpa do dev iniciante. É complexidade antecipada.

Complexidade cedo demais atrapalha o aprendizado

Quando alguém está começando, o mais importante não é aprender todas as possibilidades do framework. É aprender:

  • Como uma requisição funciona
  • Como dados chegam na aplicação
  • Onde colocar cada responsabilidade
  • Como a aplicação responde
  • Como publicar isso em produção

MVC exige que você entenda a arquitetura antes de entender o problema. Isso inverte o aprendizado.

Razor Pages muda a ordem do jogo

Razor Pages não elimina conceitos importantes. Ele organiza melhor o processo de aprendizagem. Em vez de começar pensando em Controllers, o iniciante pensa em:

Página → Comportamento → Resultado

Isso traz benefícios claros:

  • Menos arquivos espalhados
  • Fluxo mais previsível
  • Código mais fácil de debugar
  • Menos abstrações no início

O foco deixa de ser “qual pasta isso vai” e passa a ser “o que essa página precisa fazer”.

”Mas MVC não é mais profissional?”

Essa é uma confusão comum. Profissionalismo não vem do padrão escolhido, vem de:

  • Clareza
  • Organização
  • Separação de responsabilidades
  • Consistência
  • Evolução controlada

Um projeto Razor Pages bem estruturado é muito mais profissional do que um MVC mal compreendido. Inclusive, muitos sistemas grandes começaram simples e evoluíram depois.

O que eu ensino primeiro hoje

Quando ensino ASP.NET para quem está começando, eu priorizo:

  1. Entender o fluxo web
  2. Criar páginas reais
  3. Organizar responsabilidades
  4. Implementar funcionalidades comuns do dia a dia
  5. Publicar em produção

Depois disso, MVC deixa de ser um bicho de sete cabeças. A pessoa já entende o problema. Agora ela aprende mais uma forma de resolvê-lo.

Aprender não é decorar arquitetura

É resolver problemas. Ensinar MVC como primeiro passo é como ensinar engenharia civil começando pela fundação de um prédio de 30 andares. Antes disso, a pessoa precisa entender o terreno, a estrutura básica, o fluxo e a função de cada elemento.

Razor Pages resolve isso muito bem.


Se você quer criar um projeto real em ASP.NET Core, entender o fluxo da aplicação sem complexidade desnecessária e sair com algo publicado em produção, conheça o meu curso de Razor Pages na prática.

asp.netrazor-pagesmvcensino
Michel Banagouro
CTO @ Leanwork · Arquiteto .NET · Criador do ASP.NET PRO

Vinte anos construindo software corporativo em .NET. Escrevo aqui sobre as decisões reais que tomamos na Leanwork, incluindo as que não deram certo.