Información general de ASP.NET Core
Por Daniel Roth, Rick Anderson y Shaun Luttin
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulta la versión .NET 8 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulta la Directiva de soporte técnico de .NET y .NET Core. Para la versión actual, consulta la versión .NET 8 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión .NET 8 de este artículo.
ASP.NET Core es un marco multiplataforma de código abierto y de alto rendimiento que tiene como finalidad compilar aplicaciones modernas conectadas a Internet y habilitadas para la nube.
Con ASP.NET Core puede hacer lo siguiente:
- Compilar servicios y aplicaciones web, aplicaciones de Internet de las cosas (IoT) y back-ends móviles.
- Usar sus herramientas de desarrollo favoritas en Windows, macOS y Linux.
- Efectuar implementaciones locales y en la nube.
- Ejecute en .NET.
¿Por qué elegir ASP.NET Core?
Millones de desarrolladores usan o han usado ASP.NET 4.x para crear aplicaciones web. ASP.NET Core es un nuevo diseño de ASP.NET 4.x que incluye cambios en la arquitectura que dan como resultado un marco más sencillo y modular.
ASP.NET Core ofrece las siguientes ventajas:
- Un caso unificado para crear API web y una interfaz de usuario web.
- Diseñado para la capacidad de prueba.
- Razor Pages hace que la codificación de escenarios centrados en páginas sea más sencilla y productiva.
- Blazor permite usar C# en el explorador, junto con JavaScript. Comparta la lógica de aplicación del lado cliente y servidor escrita toda con. NET.
- Capacidad para desarrollarse y ejecutarse en Windows, macOS y Linux.
- De código abierto y centrado en la comunidad.
- Integración de marcos del lado cliente modernos y flujos de trabajo de desarrollo.
- Compatibilidad con el hospedaje de servicios de llamada a procedimiento remoto (RPC) con gRPC.
- Un sistema de configuración basado en el entorno y preparado para la nube.
- Inserción de dependencias integrada.
- Una canalización de solicitudes HTTP ligera, modular y de alto rendimiento.
- Capacidad para hospedar en lo siguiente:
- Control de versiones en paralelo.
- Herramientas que simplifican el desarrollo web moderno.
Creación de API web e interfaces de usuario web mediante ASP.NET Core MVC
ASP.NET Core MVC proporciona características para crear API web y aplicaciones web:
- El patrón Modelo-Vista-Controlador (MVC) permite que se puedan hacer pruebas en las API web y en las aplicaciones web.
- Razor Pages es un modelo de programación basado en páginas que facilita la compilación de interfaces de usuario web y hace que sea más productiva.
- El marcado de RazorRazor proporciona una sintaxis productiva para Razor Pages y las vistas de MVC.
- Las aplicaciones auxiliares de etiquetas permiten que el código de servidor participe en la creación y la representación de elementos HTML en archivos de Razor.
- La compatibilidad integrada para varios formatos de datos y la negociación de contenidos permite que las API web lleguen a una amplia gama de clientes, como los exploradores y los dispositivos móviles.
- El enlace de modelo asigna automáticamente datos de solicitudes HTTP a parámetros de método de acción.
- La validación de modelos efectúa una validación del lado cliente y del lado servidor de forma automática.
Desarrollo del lado del cliente
ASP.NET Core incluye Blazor para crear una interfaz de usuario web enriquecidamente interactiva y también se integra con otros marcos populares de JavaScript front-end, como Angular, React, Vuey Bootstrap. Para obtener más información, vea Blazor de ASP.NET Core y los temas relacionados en Desarrollo del lado cliente.
Plataformas de destino de ASP.NET Core
ASP.NET Core 3.x o las versiones posteriores solo pueden tener como destino .NET.
El uso de .NET como destino cuenta con varias ventajas que van en aumento con cada versión. Entre las ventajas del uso de .NET en vez de .NET Framework se incluyen las siguientes:
- Multiplataforma. Es compatible con Windows, macOS y Linux.
- Rendimiento mejorado
- Control de versiones en paralelo
- Nuevas API.
- Código Abierto
Ruta de aprendizaje recomendada
Se recomienda realizar la siguiente secuencia de tutoriales a modo de introducción para desarrollar aplicaciones de ASP.NET Core:
Realice el tutorial correspondiente al tipo de aplicación que quiera desarrollar o mantener.
Tipo de aplicación Escenario Tutorial Aplicación web Nuevo desarrollo de interfaz de usuario web del lado servidor Primeros pasos con Razor Pages Aplicación web Mantener una aplicación de MVC Introducción a MVC Aplicación web Desarrollo de interfaz de usuario web del lado cliente Introducción a Blazor API Web Servicios HTTP RESTful Creación de una API web† Aplicación de llamada a procedimiento remoto Servicios de contrato primero con búferes de protocolo Introducción a un servicio gRPC Aplicación en tiempo real Comunicación bidireccional entre servidores y clientes conectados Introducción a SignalR Realice un tutorial que muestra cómo realizar el acceso a datos básicos.
Escenario Tutorial Nuevo desarrollo Razor Pages con Entity Framework Core Mantener una aplicación de MVC MVC con Entity Framework Core Lea una introducción a los conceptos básicos de ASP.NET Core aplicables a todos los tipos de aplicaciones.
Examine la tabla de contenido para ver otros temas de interés.
†También hay un tutorial de API web interactivo. No es necesario instalar ninguna herramienta de desarrollo localmente. El código se ejecuta en un Azure Cloud Shell en el explorador, y se usa curl para realizar las pruebas.
Migración desde .NET Framework
Para obtener una guía de referencia para migrar aplicaciones de ASP.NET 4.x a ASP.NET Core, vea Actualización de ASP.NET a ASP.NET Core.
ASP.NET Core es un marco multiplataforma de código abierto y de alto rendimiento que tiene como finalidad compilar aplicaciones modernas conectadas a Internet y habilitadas para la nube. Con ASP.NET Core puede hacer lo siguiente:
- Compilar servicios y aplicaciones web, aplicaciones de Internet de las cosas (IoT) y back-ends móviles.
- Usar sus herramientas de desarrollo favoritas en Windows, macOS y Linux.
- Efectuar implementaciones locales y en la nube.
- Ejecutarlo en .NET Core o en .NET Framework.
¿Por qué elegir ASP.NET Core?
Millones de desarrolladores usan o han usado ASP.NET 4.x para crear aplicaciones web. ASP.NET Core es un nuevo diseño de ASP.NET 4.x que cuenta con cambios en la arquitectura que dan como resultado un marco más sencillo y modular.
ASP.NET Core ofrece las siguientes ventajas:
- Un caso unificado para crear API web y una interfaz de usuario web.
- Diseñado para la capacidad de prueba.
- Razor Pages hace que la codificación de escenarios centrados en páginas sea más sencilla y productiva.
- Blazor permite usar C# en el explorador, junto con JavaScript. Comparta la lógica de aplicación del lado cliente y servidor escrita toda con. NET.
- Capacidad para desarrollarse y ejecutarse en Windows, macOS y Linux.
- De código abierto y centrado en la comunidad.
- Integración de marcos del lado cliente modernos y flujos de trabajo de desarrollo.
- Compatibilidad con el hospedaje de servicios de llamada a procedimiento remoto (RPC) con gRPC.
- Un sistema de configuración basado en el entorno y preparado para la nube.
- Inserción de dependencias integrada.
- Una canalización de solicitudes HTTP ligera, modular y de alto rendimiento.
- Capacidad para hospedar en lo siguiente:
- Control de versiones en paralelo.
- Herramientas que simplifican el desarrollo web moderno.
Creación de API web e interfaces de usuario web mediante ASP.NET Core MVC
ASP.NET Core MVC proporciona características para crear API web y aplicaciones web:
- El patrón Modelo-Vista-Controlador (MVC) permite que se puedan hacer pruebas en las API web y en las aplicaciones web.
- Razor Pages es un modelo de programación basado en páginas que facilita la compilación de interfaces de usuario web y hace que sea más productiva.
- El marcado de RazorRazor proporciona una sintaxis productiva para Razor Pages y las vistas de MVC.
- Las aplicaciones auxiliares de etiquetas permiten que el código de servidor participe en la creación y la representación de elementos HTML en archivos de Razor.
- La compatibilidad integrada para varios formatos de datos y la negociación de contenidos permite que las API web lleguen a una amplia gama de clientes, como los exploradores y los dispositivos móviles.
- El enlace de modelo asigna automáticamente datos de solicitudes HTTP a parámetros de método de acción.
- La validación de modelos efectúa una validación del lado cliente y del lado servidor de forma automática.
Desarrollo del lado del cliente
ASP.NET Core se integra perfectamente con bibliotecas y plataformas de trabajo populares del lado cliente, que incluyen Blazor, Angular, React, Vue y Bootstrap. Para obtener más información, vea Blazor de ASP.NET Core y los temas relacionados en Desarrollo del lado cliente.
ASP.NET Core con .NET Framework como destino
ASP.NET Core 2.x puede tener como destino .NET Core o .NET Framework. Las aplicaciones de ASP.NET Core que tienen como destino .NET Framework no son multiplataforma, sino que solo se ejecutan en Windows. Por lo general, ASP.NET Core 2.x está formado por bibliotecas de .NET Standard. Las bibliotecas escritas con .NET Standard 2.0 se ejecutan en cualquier plataforma .NET que implementa .NET Standard 2.0.
ASP.NET Core 2.x se admite en las versiones de .NET Framework que implementan .NET Standard 2.0:
- Se recomienda encarecidamente usar la versión más reciente de .NET Framework.
- .NET Framework 4.6.1 o superior.
ASP.NET Core 3.0 o las versiones posteriores solo se ejecutan en .NET Core. Para obtener más información sobre este cambio, vea A first look at changes coming in ASP.NET Core 3.0 (Descripción general de los cambios que se aplicarán a ASP.NET Core 3.0).
El uso de .NET Core como destino cuenta con varias ventajas que van en aumento con cada versión. Entre las ventajas del uso de .NET Core en vez de .NET Framework se incluyen las siguientes:
- Multiplataforma. Ejecución en macOS, Linux y Windows.
- Rendimiento mejorado
- Control de versiones en paralelo
- Nuevas API.
- Código Abierto
Para ayudar a cerrar la brecha de API existente entre .NET Framework y .NET Core, el paquete de compatibilidad de Windows ha permitido que miles de API solo de Windows estén disponibles en .NET Core. Estas API no estaban disponibles en .NET Core 1.x.
Ruta de aprendizaje recomendada
Se recomienda la siguiente secuencia de tutoriales y artículos para obtener una introducción para desarrollar aplicaciones de ASP.NET Core:
Realice el tutorial correspondiente al tipo de aplicación que quiera desarrollar o mantener.
Tipo de aplicación Escenario Tutorial Aplicación web Para un nuevo desarrollo Primeros pasos con Razor Pages Aplicación web Para mantener una aplicación MVC Introducción a MVC Web API Creación de una API web† Aplicación en tiempo real Introducción a SignalR Realice un tutorial que muestra cómo realizar el acceso a datos básicos.
Escenario Tutorial Para un nuevo desarrollo Razor Pages con Entity Framework Core Para mantener una aplicación MVC MVC con Entity Framework Core Lea una introducción a los conceptos básicos de ASP.NET Core aplicables a todos los tipos de aplicaciones.
Examine la tabla de contenido para ver otros temas de interés.
†Hay también un tutorial de API web que se realiza completamente en el explorador; no es necesario instalar ningún IDE local. El código se ejecuta en un Azure Cloud Shell y se usa curl para realizar pruebas.
Migración desde .NET Framework
Para obtener una guía de referencia para migrar aplicaciones de ASP.NET a ASP.NET Core, vea Actualización de ASP.NET a ASP.NET Core.
Cómo descargar un ejemplo
En muchos de los artículos y tutoriales se incluyen vínculos a código de ejemplo.
- Descargue el archivo ZIP del repositorio de ASP.NET.
- Descomprima el archivo
AspNetCore.Docs-main.zip
. - Para acceder a la aplicación de ejemplo de un artículo en el repositorio descomprimido, use la dirección URL del vínculo de ejemplo del artículo para ayudarle a navegar a la carpeta del ejemplo. Normalmente, el vínculo de ejemplo de un artículo aparece en la parte superior del artículo con el texto del vínculo View or download sample code (Ver o descargar código de ejemplo).
Directivas de preprocesador en código de ejemplo
Para mostrar varios escenarios, las aplicaciones de ejemplo usan las directivas de preprocesador #define
y #if-#else/#elif-#endif
para compilar de forma selectiva y ejecutar secciones distintas de código de ejemplo. Para los ejemplos que usan este enfoque, establezca la directiva #define
en la parte superior de los archivos C# para definir el símbolo asociado con el escenario que quiera ejecutar. Algunos ejemplos requieren la definición del símbolo en la parte superior de varios archivos para ejecutar un escenario.
Por ejemplo, la siguiente lista de símbolos de #define
indica que hay cuatro escenarios disponibles (un escenario por símbolo). La configuración de ejemplo actual ejecuta el escenario TemplateCode
:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Para cambiar el ejemplo el escenario ExpandDefault
, defina el símbolo ExpandDefault
y deje los símbolos restantes comentados:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Para obtener información sobre cómo usar directivas de preprocesador de C# para compilar selectivamente secciones de código, vea #define (Referencia de C#) e #if (Referencia de C#).
Principales cambios y avisos de seguridad
Los cambios importantes y los avisos de seguridad se notifican en el repositorio de anuncios. Los anuncios se pueden limitar a una versión específica seleccionando un filtro de etiqueta.
Pasos siguientes
Para obtener más información, consulte los siguientes recursos:
- Comenzar a usar ASP.NET Core
- Publicar una aplicación de ASP.NET Core en Azure con Visual Studio
- Conceptos básicos de ASP.NET Core
- La reunión semanal de la comunidad de ASP.NET trata el progreso y los planes del equipo. Incluye nuevos blogs y nuevo software de terceros.