<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Gustavo Viegas</title>
    <description>The latest articles on Forem by Gustavo Viegas (@gustavo_viegas).</description>
    <link>https://forem.com/gustavo_viegas</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3627118%2Fa1d4f5dc-ebcc-46e4-a08c-9192ed5c43d2.png</url>
      <title>Forem: Gustavo Viegas</title>
      <link>https://forem.com/gustavo_viegas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/gustavo_viegas"/>
    <language>en</language>
    <item>
      <title>Razor Pages vs MVC: Quando escolher e por quê</title>
      <dc:creator>Gustavo Viegas</dc:creator>
      <pubDate>Mon, 24 Nov 2025 10:53:20 +0000</pubDate>
      <link>https://forem.com/gustavo_viegas/razor-pages-vs-mvc-quando-escolher-e-por-que-2nie</link>
      <guid>https://forem.com/gustavo_viegas/razor-pages-vs-mvc-quando-escolher-e-por-que-2nie</guid>
      <description>&lt;h1&gt;
  
  
  Razor Pages vs MVC: Quando escolher e por quê
&lt;/h1&gt;

&lt;p&gt;Uma análise prática e arquitetural para quem constrói aplicações .NET modernas no mundo real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Ao iniciar um novo projeto web em .NET, uma das primeiras decisões é escolher entre ASP.NET Core MVC e ASP.NET Core Razor Pages. Embora ambos coexistam dentro do mesmo framework, eles representam modelos mentais diferentes — e essa escolha impacta clareza, manutenção, ritmo de entrega e arquitetura.&lt;/p&gt;

&lt;p&gt;Neste artigo, vamos explorar quando Razor Pages é superior ao MVC, quando o contrário é verdadeiro, e — principalmente — como arquitetos e desenvolvedores podem decidir de forma prática e segura.&lt;/p&gt;

&lt;h2&gt;
  
  
  Entendendo a diferença fundamental
&lt;/h2&gt;

&lt;p&gt;A diferença entre Razor Pages e MVC não é técnica — é conceitual.&lt;/p&gt;

&lt;h3&gt;
  
  
  MVC
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Controllers + Actions
&lt;/li&gt;
&lt;li&gt;Fluxo centralizado
&lt;/li&gt;
&lt;li&gt;Flexível para APIs e rotas complexas
&lt;/li&gt;
&lt;li&gt;Ótimo para aplicações grandes e arquitetadas&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Razor Pages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;PageModel por página
&lt;/li&gt;
&lt;li&gt;Fluxo distribuído
&lt;/li&gt;
&lt;li&gt;Ideal para CRUDs e sistemas de gestão
&lt;/li&gt;
&lt;li&gt;Arquitetura limpa e previsível&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Em resumo:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;MVC organiza por tipo.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Razor Pages organiza por funcionalidade.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Quando Razor Pages é superior
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Aplicações CRUD intensivas
&lt;/h3&gt;

&lt;p&gt;Cada página possui seu próprio PageModel, facilitando leitura e manutenção.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Produtividade da equipe
&lt;/h3&gt;

&lt;p&gt;Menos arquivos, menos roteamento manual, mais foco em regras e serviços.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Aplicações corporativas previsíveis
&lt;/h3&gt;

&lt;p&gt;ERP, CRM, backoffice, intranets — todos combinam melhor com páginas orientadas a funcionalidade.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Separação de responsabilidades natural
&lt;/h3&gt;

&lt;p&gt;Domínio → Serviço → Repositório → PageModel → UI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quando MVC é a melhor escolha
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Endpoints complexos
&lt;/h3&gt;

&lt;p&gt;Fluxos avançados, lógica rica de controle.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Sistemas SPA + API
&lt;/h3&gt;

&lt;p&gt;React/Angular pedem APIs independentes.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Rotas sofisticadas
&lt;/h3&gt;

&lt;p&gt;MVC oferece mais controle.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Separação rígida entre UI e controle
&lt;/h3&gt;

&lt;p&gt;Quando seu design exige isso.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qual escolher para projetos reais?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tipo de Projeto&lt;/th&gt;
&lt;th&gt;Melhor Opção&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CRUD corporativo&lt;/td&gt;
&lt;td&gt;Razor Pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ferramenta administrativa&lt;/td&gt;
&lt;td&gt;Razor Pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Portal interno&lt;/td&gt;
&lt;td&gt;Razor Pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aplicação SaaS baseada em formulários&lt;/td&gt;
&lt;td&gt;Razor Pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API + SPA&lt;/td&gt;
&lt;td&gt;MVC ou Minimal APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotas complexas&lt;/td&gt;
&lt;td&gt;MVC&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Minha recomendação como arquiteto
&lt;/h2&gt;

&lt;p&gt;Para a maioria dos sistemas reais:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Comece com Razor Pages.&lt;br&gt;&lt;br&gt;
Só evolua para MVC se realmente houver necessidade.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Razor Pages simplifica, organiza e acelera entregas — especialmente quando combinado com serviços, repositórios, validações e um bom guideline arquitetural.&lt;/p&gt;

&lt;h2&gt;
  
  
  Próximo artigo
&lt;/h2&gt;

&lt;p&gt;👉 &lt;em&gt;Criando uma ASP.NET Core WebApp Razor Pages do zero (em 5 minutos).&lt;/em&gt;  &lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>csharp</category>
      <category>aspnetcore</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
