Elección de una interfaz de usuario web de ASP.NET Core

ASP.NET Core es un marco de interfaz de usuario completo. Elija qué funcionalidades desea combinar que se ajusten a las necesidades de la interfaz de usuario web de la aplicación.

ASP.NET Core Blazor

Blazor es un marco de interfaz de usuario web de pila completa y se recomienda para la mayoría de los escenarios de interfaz de usuario web.

Ventajas de usar Blazor:

  • Modelo de componente reutilizable.
  • Representación eficaz de componentes basados en diferencias.
  • Represente de forma flexible componentes desde el servidor o el cliente a través de WebAssembly.
  • Cree componentes enriquecidos de la interfaz de usuario web interactiva en C#.
  • Representar componentes estáticamente desde el servidor.
  • Mejore progresivamente los componentes representados por el servidor para la navegación y el control de formularios más suaves y para habilitar la representación de streaming.
  • Comparta código para la lógica común en el cliente y el servidor.
  • Interoperabilidad con JavaScript.
  • Integre componentes con aplicaciones basadas en MVC, Razor Pages o JavaScript existentes.

Para obtener información general completa sobre Blazor, su arquitectura y ventajas, consulte ASP.NET Core Blazor y ASP.NET Modelos de hospedaje coreBlazor. Para empezar a trabajar con la primera Blazor aplicación, consulte Compilación de la primera Blazor aplicación.

ASP.NET Core Razor Pages

Razor Pages es un modelo basado en páginas para compilar la interfaz de usuario web representada por el servidor. Razor La interfaz de usuario de páginas se representa dinámicamente en el servidor para generar el HTML y CSS de la página en respuesta a una solicitud del explorador. La página llega al cliente lista para mostrarse. La compatibilidad con Razor Pages se integra en ASP.NET Core MVC.

Razor Ventajas de las páginas:

  • Compilación y actualización rápida de la interfaz de usuario. El código de la página se mantiene con la página, mientras que se mantienen separados los intereses relativos a la interfaz de usuario y la lógica de negocios.
  • Se puede probar y se escala a aplicaciones de gran tamaño.
  • Mantenga las páginas de ASP.NET Core organizadas de una manera más sencilla que ASP.NET MVC:
    • La lógica específica de la vista y los modelos de la vista pueden mantenerse juntos en su propio espacio de nombres y directorio.
    • Los grupos de páginas relacionadas se pueden mantener en su propio espacio de nombres y directorio.

Para empezar a trabajar con la primera aplicación Razor Pages de ASP.NET Core, vea, Tutorial: Introducción a Razor Pages en ASP.NET Core. Para obtener información general completa de Razor Pages de ASP.NET Core, su arquitectura y sus ventajas, vea: Introducción a Razor Pages en ASP.NET Core.

ASP.NET Core MVC

ASP.NET MVC representa la interfaz de usuario en el servidor y usa un patrón de arquitectura Modelo-Vista-Controlador (MVC). El patrón MVC separa una aplicación en tres grupos de componentes principales: modelos, vistas y controladores. Las solicitudes de usuario se enrutan a un controlador. El controlador es el responsable de trabajar con el modelo para realizar acciones del usuario o recuperar los resultados de las consultas. El controlador elige la vista para mostrar al usuario y proporciona cualquier dato de modelo que sea necesario.

ventajas de ASP.NET Core MVC:

  • Se basa en un modelo escalable y maduro para crear aplicaciones web de gran tamaño.
  • Clara separación de intereses para la máxima flexibilidad.
  • La separación de responsabilidades de Modelo-Vista-Controlador garantiza que el modelo de negocio puede evolucionar sin estar estrechamente acoplado a los detalles de implementación de bajo nivel.

Para empezar a usar ASP.NET Core MVC, vea Introducción a ASP.NET Core MVC. Para obtener información general sobre la arquitectura y los beneficios de ASP.NET Core MVC, vea Información general de ASP.NET Core MVC.

ASP.NET Aplicaciones de página única (SPA) principales con marcos de JavaScript de front-end

Compile la lógica del lado del cliente para las aplicaciones de ASP.NET Core utilizando marcos de JavaScript populares, como Angular o React. ASP.NET Core proporciona plantillas de proyecto para Angular y React, y también se puede usar con otros marcos de JavaScript.

Ventajas de SPA de ASP.NET Core con marcos de JavaScript, además de las ventajas de representación en el cliente enumeradas anteriormente:

  • El entorno de ejecución de JavaScript ya se proporciona con el explorador.
  • Comunidad grande y ecosistema maduro.
  • Compile la lógica del lado del cliente para las aplicaciones de ASP.NET Core utilizando marcos de JS populares, como Angular y React.

Desventajas:

  • Se requieren más lenguajes de codificación, marcos y herramientas.
  • Es difícil compartir código para que se pueda duplicar alguna lógica.

Para empezar, consulte:

Elección de una solución híbrida: ASP.NET Core MVC o Razor Pages más Blazor

MVC, Razor Pages y Blazor forman parte del marco ASP.NET Core y están diseñados para usarse juntos. Los componentes Razor se pueden integrar en aplicaciones de Razor Pages y MVC. Cuando se representa una vista o una página, los componentes se pueden representar previamente al mismo tiempo.

Beneficios de MVC o Razor Pages más Blazor, además de los beneficios de MVC o Razor Pages:

  • La representación previa ejecuta componentes Razor en el servidor y los representa en una vista o una página, lo que mejora el tiempo de carga percibido de la aplicación.
  • Agrega interactividad a las vistas o las páginas existentes con el asistente de etiquetas de componente.

Para empezar a trabajar con ASP.NET Core MVC o Razor Pages plus Blazor, consulteIntegración de componentes de Core ASP.NET Core Razor en ASP.NET Aplicaciones principales.

Pasos siguientes

Para más información, consulte:

ASP.NET Core es un marco de interfaz de usuario completo. Elija qué funcionalidades desea combinar que se ajusten a las necesidades de la interfaz de usuario web de la aplicación.

ASP.NET Core Blazor

Blazor es un marco de interfaz de usuario web de pila completa y se recomienda para la mayoría de los escenarios de interfaz de usuario web.

Ventajas de usar Blazor:

  • Modelo de componente reutilizable.
  • Representación eficaz de componentes basados en diferencias.
  • Represente de forma flexible componentes desde el servidor o el cliente a través de WebAssembly.
  • Cree componentes enriquecidos de la interfaz de usuario web interactiva en C#.
  • Representar componentes estáticamente desde el servidor.
  • Mejore progresivamente los componentes representados por el servidor para la navegación y el control de formularios más suaves y para habilitar la representación de streaming.
  • Comparta código para la lógica común en el cliente y el servidor.
  • Interoperabilidad con JavaScript.
  • Integre componentes con aplicaciones basadas en MVC, Razor Pages o JavaScript existentes.

Para obtener información general completa sobre Blazor, su arquitectura y ventajas, consulte ASP.NET Core Blazor y ASP.NET Modelos de hospedaje coreBlazor. Para empezar a trabajar con la primera Blazor aplicación, consulte Compilación de la primera Blazor aplicación.

ASP.NET Core Razor Pages

Razor Pages es un modelo basado en páginas para compilar la interfaz de usuario web representada por el servidor. Razor La interfaz de usuario de páginas se representa dinámicamente en el servidor para generar el HTML y CSS de la página en respuesta a una solicitud del explorador. La página llega al cliente lista para mostrarse. La compatibilidad con Razor Pages se integra en ASP.NET Core MVC.

Razor Ventajas de las páginas:

  • Compilación y actualización rápida de la interfaz de usuario. El código de la página se mantiene con la página, mientras que se mantienen separados los intereses relativos a la interfaz de usuario y la lógica de negocios.
  • Se puede probar y se escala a aplicaciones de gran tamaño.
  • Mantenga las páginas de ASP.NET Core organizadas de una manera más sencilla que ASP.NET MVC:
    • La lógica específica de la vista y los modelos de la vista pueden mantenerse juntos en su propio espacio de nombres y directorio.
    • Los grupos de páginas relacionadas se pueden mantener en su propio espacio de nombres y directorio.

Para empezar a trabajar con la primera aplicación Razor Pages de ASP.NET Core, vea, Tutorial: Introducción a Razor Pages en ASP.NET Core. Para obtener información general completa de Razor Pages de ASP.NET Core, su arquitectura y sus ventajas, vea: Introducción a Razor Pages en ASP.NET Core.

ASP.NET Core MVC

ASP.NET MVC representa la interfaz de usuario en el servidor y usa un patrón de arquitectura Modelo-Vista-Controlador (MVC). El patrón MVC separa una aplicación en tres grupos de componentes principales: modelos, vistas y controladores. Las solicitudes de usuario se enrutan a un controlador. El controlador es el responsable de trabajar con el modelo para realizar acciones del usuario o recuperar los resultados de las consultas. El controlador elige la vista para mostrar al usuario y proporciona cualquier dato de modelo que sea necesario.

ventajas de ASP.NET Core MVC:

  • Se basa en un modelo escalable y maduro para crear aplicaciones web de gran tamaño.
  • Clara separación de intereses para la máxima flexibilidad.
  • La separación de responsabilidades de Modelo-Vista-Controlador garantiza que el modelo de negocio puede evolucionar sin estar estrechamente acoplado a los detalles de implementación de bajo nivel.

Para empezar a usar ASP.NET Core MVC, vea Introducción a ASP.NET Core MVC. Para obtener información general sobre la arquitectura y los beneficios de ASP.NET Core MVC, vea Información general de ASP.NET Core MVC.

ASP.NET Aplicaciones de página única (SPA) principales con marcos de JavaScript de front-end

Compile la lógica del lado del cliente para las aplicaciones de ASP.NET Core utilizando marcos de JavaScript populares, como Angular o React. ASP.NET Core proporciona plantillas de proyecto para Angular y React, y también se puede usar con otros marcos de JavaScript.

Ventajas de SPA de ASP.NET Core con marcos de JavaScript, además de las ventajas de representación en el cliente enumeradas anteriormente:

  • El entorno de ejecución de JavaScript ya se proporciona con el explorador.
  • Comunidad grande y ecosistema maduro.
  • Compile la lógica del lado del cliente para las aplicaciones de ASP.NET Core utilizando marcos de JS populares, como Angular y React.

Desventajas:

  • Se requieren más lenguajes de codificación, marcos y herramientas.
  • Es difícil compartir código para que se pueda duplicar alguna lógica.

Para empezar, consulte:

Elección de una solución híbrida: ASP.NET Core MVC o Razor Pages más Blazor

MVC, Razor Pages y Blazor forman parte del marco ASP.NET Core y están diseñados para usarse juntos. Los componentes Razor se pueden integrar en aplicaciones de Razor Pages y MVC. Cuando se representa una vista o una página, los componentes se pueden representar previamente al mismo tiempo.

Beneficios de MVC o Razor Pages más Blazor, además de los beneficios de MVC o Razor Pages:

  • La representación previa ejecuta componentes Razor en el servidor y los representa en una vista o una página, lo que mejora el tiempo de carga percibido de la aplicación.
  • Agrega interactividad a las vistas o las páginas existentes con el asistente de etiquetas de componente.

Para empezar a trabajar con ASP.NET Core MVC o Razor Pages plus Blazor, consulteIntegración de componentes de Core ASP.NET Core Razor en ASP.NET Aplicaciones principales.

Para empezar a trabajar con ASP.NET Core MVC o Razor Pages más Blazor, consulte Integración y representación previa de componentes Razor de ASP.NET Core.

Pasos siguientes

Para más información, consulte: