Compartilhar via


Escolher uma interface do usuário da Web do ASP.NET Core

O ASP.NET Core é uma estrutura de interface do usuário completa. Escolha quais funcionalidades se ajustam às necessidades da interface do usuário da Web do aplicativo.

Para o desenvolvimento de novos projetos, recomendamos ASP.NET Core Blazor.

ASP.NET Core Blazor

Blazor é uma estrutura de interface do usuário da Web de pilha completa que é recomendada para a maioria dos cenários de interface do usuário da Web.

Benefícios do uso de Blazor:

  • Modelo de componente reutilizável.
  • Renderização eficiente de componentes baseado em diferenciação.
  • Renderização de componentes com flexibilidade do servidor ou do cliente por meio do WebAssembly.
  • Criação de componentes de interface do usuário da Web interativos avançados em C#.
  • Renderização de componentes estaticamente do servidor.
  • Aprimoramento progressivo dos componentes renderizados do servidor para navegação e tratamento de formulários mais suaves e para habilitar a renderização de streaming.
  • Compartilhamento de código para lógica comum no cliente e no servidor.
  • Interoperabilidade com JavaScript.
  • Integração de componentes com aplicativos existentes baseados em MVC, Razor Pages ou JavaScript.

Para uma visão geral completa do Blazor, sua arquitetura e seus benefícios, confira ASP.NET Core Blazor e modelos de hospedagem do ASP.NET Core Blazor. Para começar com seu primeiro aplicativo Blazor, consulte Criar seu primeiro aplicativo Blazor.

Razor Pages do ASP.NET Core

O Razor Pages é um modelo baseado em página para a criação da interface do usuário da Web renderizada no servidor. A interface do usuário de páginas Razor é renderizada dinamicamente no servidor para gerar HTML e CSS da página em resposta a uma solicitação do navegador. A página chega ao cliente pronta para exibição. O suporte para o Razor Pages é compilado no ASP.NET Core MVC.

Benefícios do Razor Pages:

  • Compilar e atualizar rapidamente a interface do usuário. O código da página é mantido com a página, mantendo os interesses da interface do usuário e da lógica de negócios separados.
  • Testável e dimensiona para aplicativos grandes.
  • Mantenha suas páginas do ASP.NET Core organizadas de maneira mais simples do que o ASP.NET MVC:
    • Os modelos de exibição e lógica específicos podem ser mantidos juntos em seu próprio namespace e diretório.
    • Grupos de páginas relacionadas podem ser mantidos em seu próprio namespace e diretório.

Para começar a usar seu primeiro aplicativo Razor Pages do ASP.NET Core, consulte Tutorial: Introdução ao Razor Pages no ASP.NET Core. Para obter uma visão geral completa do Razor Pages no ASP.NET Core, sua arquitetura e benefícios, consulte: Introdução ao Razor Pages no ASP.NET Core.

ASP.NET Core MVC

O ASP.NET Core MVC renderiza a interface do usuário no servidor e usa um padrão de arquitetura MVC (Model-View-Controller). O padrão MVC separa um aplicativo em três grupos de componentes principais: modelos, exibições e controladores. As solicitações do usuário são roteada para um controlador. O controlador é responsável por trabalhar com o modelo para executar ações do usuário ou recuperar resultados de consultas. O controlador escolhe a exibição a ser exibida para o usuário e fornece-a com os dados do modelo solicitados.

Benefícios do ASP.NET Core MVC:

  • Baseado em um modelo escalonável e maduro para compilação de aplicativos Web grandes.
  • Separação de interesses clara com a máxima flexibilidade.
  • A separação de responsabilidades do Model-View-Controller garante que o modelo de negócios possa evoluir sem ter um acoplamento rígido com detalhes de implementação de nível inferior.

Para começar a usar ASP.NET Core MVC, consulte Introdução ao ASP.NET Core MVC. Para obter uma visão geral da arquitetura e dos benefícios do ASP.NET Core MVC, confira Visão geral do ASP.NET Core MVC.

SPA (Aplicativos de Página Única) do ASP.NET Core com estruturas JavaScript no front-end

Crie lógica do lado do cliente para aplicativos ASP.NET Core usando estruturas JavaScript populares, como Angular, React e Vue. O ASP.NET Core fornece modelos de projeto para Angular, React e Vue, e também pode ser usado com outras estruturas de JavaScript.

Benefícios de ASP.NET Core SPA com Estruturas JavaScript, além dos benefícios de renderização do cliente listados anteriormente:

  • O ambiente de runtime do JavaScript já é fornecido com o navegador.
  • Grande comunidade e ecossistema maduro.
  • Crie lógica do lado do cliente para aplicativos ASP.NET Core usando estruturas JS populares, como Angular, React e Vue.

Desvantagens:

  • Mais linguagens de codificação, estruturas e ferramentas necessárias.
  • É difícil compartilhar código para que alguma lógica possa ser duplicada.

Para começar. confira:

Combinar várias soluções de interface do usuário da Web: ASP.NET Core MVC ou Razor Pages mais Blazor

MVC, Razor Pages e Blazor fazem parte da estrutura do ASP.NET Core e foram projetados para serem usados juntos. RazorComponentes podem ser incorporados aosRazoraplicativos Pages e MVC. Componentes podem ser pré-renderizados ao mesmo tempo após a renderização da exibição ou página.

Benefícios para MVC ou Razor Pages mais Blazor, além dos benefícios do MVC ou do Razor Pages:

  • A pré-renderização executa componentes Razor no servidor e os renderiza em uma exibição ou página, o que melhora o tempo de carregamento percebido do aplicativo.
  • Adicione interatividade a exibições ou páginas existentes com o Auxiliar de Marca de Componente.

Para começar a usar ASP.NET Core MVC ou Razor Pages e o Blazor, consulte Integrar componentes do Razor em aplicativos do ASP.NET Core.

Próximas etapas

Para obter mais informações, consulte:

O ASP.NET Core é uma estrutura de interface do usuário completa. Escolha quais funcionalidades se ajustam às necessidades da interface do usuário da Web do aplicativo.

ASP.NET Core Blazor

Blazor é uma estrutura de interface do usuário da Web de pilha completa que é recomendada para a maioria dos cenários de interface do usuário da Web.

Benefícios do uso de Blazor:

  • Modelo de componente reutilizável.
  • Renderização eficiente de componentes baseado em diferenciação.
  • Renderização de componentes com flexibilidade do servidor ou do cliente por meio do WebAssembly.
  • Criação de componentes de interface do usuário da Web interativos avançados em C#.
  • Renderização de componentes estaticamente do servidor.
  • Aprimoramento progressivo dos componentes renderizados do servidor para navegação e tratamento de formulários mais suaves e para habilitar a renderização de streaming.
  • Compartilhamento de código para lógica comum no cliente e no servidor.
  • Interoperabilidade com JavaScript.
  • Integração de componentes com aplicativos existentes baseados em MVC, Razor Pages ou JavaScript.

Para uma visão geral completa do Blazor, sua arquitetura e seus benefícios, confira ASP.NET Core Blazor e modelos de hospedagem do ASP.NET Core Blazor. Para começar com seu primeiro aplicativo Blazor, consulte Criar seu primeiro aplicativo Blazor.

Razor Pages do ASP.NET Core

O Razor Pages é um modelo baseado em página para a criação da interface do usuário da Web renderizada no servidor. A interface do usuário de páginas Razor é renderizada dinamicamente no servidor para gerar HTML e CSS da página em resposta a uma solicitação do navegador. A página chega ao cliente pronta para exibição. O suporte para o Razor Pages é compilado no ASP.NET Core MVC.

Benefícios do Razor Pages:

  • Compilar e atualizar rapidamente a interface do usuário. O código da página é mantido com a página, mantendo os interesses da interface do usuário e da lógica de negócios separados.
  • Testável e dimensiona para aplicativos grandes.
  • Mantenha suas páginas do ASP.NET Core organizadas de maneira mais simples do que o ASP.NET MVC:
    • Os modelos de exibição e lógica específicos podem ser mantidos juntos em seu próprio namespace e diretório.
    • Grupos de páginas relacionadas podem ser mantidos em seu próprio namespace e diretório.

Para começar a usar seu primeiro aplicativo Razor Pages do ASP.NET Core, consulte Tutorial: Introdução ao Razor Pages no ASP.NET Core. Para obter uma visão geral completa do Razor Pages no ASP.NET Core, sua arquitetura e benefícios, consulte: Introdução ao Razor Pages no ASP.NET Core.

ASP.NET Core MVC

O ASP.NET Core MVC renderiza a interface do usuário no servidor e usa um padrão de arquitetura MVC (Model-View-Controller). O padrão MVC separa um aplicativo em três grupos de componentes principais: modelos, exibições e controladores. As solicitações do usuário são roteada para um controlador. O controlador é responsável por trabalhar com o modelo para executar ações do usuário ou recuperar resultados de consultas. O controlador escolhe a exibição a ser exibida para o usuário e fornece-a com os dados do modelo solicitados.

Benefícios do ASP.NET Core MVC:

  • Baseado em um modelo escalonável e maduro para compilação de aplicativos Web grandes.
  • Separação de interesses clara com a máxima flexibilidade.
  • A separação de responsabilidades do Model-View-Controller garante que o modelo de negócios possa evoluir sem ter um acoplamento rígido com detalhes de implementação de nível inferior.

Para começar a usar ASP.NET Core MVC, consulte Introdução ao ASP.NET Core MVC. Para obter uma visão geral da arquitetura e dos benefícios do ASP.NET Core MVC, confira Visão geral do ASP.NET Core MVC.

SPA (Aplicativos de Página Única) do ASP.NET Core com estruturas JavaScript no front-end

Crie lógica do lado do cliente para aplicativos ASP.NET Core usando estruturas JavaScript populares, como Angular, React e Vue. O ASP.NET Core fornece modelos de projeto para Angular, React e Vue, e também pode ser usado com outras estruturas de JavaScript.

Benefícios de ASP.NET Core SPA com Estruturas JavaScript, além dos benefícios de renderização do cliente listados anteriormente:

  • O ambiente de runtime do JavaScript já é fornecido com o navegador.
  • Grande comunidade e ecossistema maduro.
  • Crie lógica do lado do cliente para aplicativos ASP.NET Core usando estruturas JS populares, como Angular, React e Vue.

Desvantagens:

  • Mais linguagens de codificação, estruturas e ferramentas necessárias.
  • É difícil compartilhar código para que alguma lógica possa ser duplicada.

Para começar. confira:

Escolha uma solução híbrida: ASP.NET Core MVC ou Razor Pages mais Blazor

MVC, Razor Pages e Blazor fazem parte da estrutura do ASP.NET Core e foram projetados para serem usados juntos. RazorComponentes podem ser incorporados aosRazoraplicativos Pages e MVC. Componentes podem ser pré-renderizados ao mesmo tempo após a renderização da exibição ou página.

Benefícios para MVC ou Razor Pages mais Blazor, além dos benefícios do MVC ou do Razor Pages:

  • A pré-renderização executa componentes Razor no servidor e os renderiza em uma exibição ou página, o que melhora o tempo de carregamento percebido do aplicativo.
  • Adicione interatividade a exibições ou páginas existentes com o Auxiliar de Marca de Componente.

Para começar a usar ASP.NET Core MVC ou Razor Pages e o Blazor, consulte Integrar componentes do Razor em aplicativos do ASP.NET Core.

Para começar a usar ASP.NET Core MVC ou Razor Pages mais Blazor, consulte Pré-renderizar e integrar componentes Razor do ASP.NET Core.

Próximas etapas

Para obter mais informações, consulte: