Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 21057|Respuesta: 0

[Comunicación] Microsoft anunció oficialmente el lanzamiento de .NET 5

[Copiar enlace]
Publicado en 7/5/2019 9:41:27 | | | |
Hoy anunciamos que la próxima versión después de .NET Core 3.0 será .NET 5. Esta será la próxima gran versión de la serie .NET.

En el futuro solo habrá un .NET, con el que podrás desarrollar Windows, Linux, macOS, iOS, Android, tvOS, watchOS y WebAssembly, entre otros.

Estamos introduciendo nuevas APIs .NET, funciones de ejecución y funciones de lenguaje en .NET 5.



A partir del proyecto .NET Core, hemos añadido unas cincuenta mil APIs de .NET Framework a la plataforma. .NET Core 3.0 cubre la mayoría de las lagunas restantes de .NET Framework 4.8, soportando Windows Forms, WPF y Entity Framework 6. .NET 5 se basa en este trabajo, aprovechando las mejores características de .NET Core y Mono para crear una plataforma. Puedes usarlo para todo el código .NET moderno.

Tenemos la intención de lanzar .NET 5 en noviembre de 2020 y lanzar la primera vista previa en la primera mitad de 2020. Será compatible con futuras actualizaciones para Visual Studio 2019, Visual Studio para Mac y Visual Studio Code.

.NET 5 = .NET Core vNext

.NET 5 es el siguiente paso en .NET Core. El proyecto tiene como objetivo mejorar el . NET:

  • Construye un runtime y framework .NET que pueda usarse en cualquier lugar, con un comportamiento unificado en tiempo de ejecución y experiencia de desarrollador.
  • Aprovechando al máximo .NET Core, NET Framework, Xamarin y Mono para ampliar las capacidades de .NET.
  • Construyendo el producto a partir de una única base de código, los desarrolladores (Microsoft y la comunidad) pueden trabajar juntos y ampliar la colaboración para mejorar todos los escenarios.


Este nuevo proyecto y dirección supone un punto de inflexión importante para .NET. Con .NET 5, tu código y los archivos de proyecto serán los mismos independientemente del tipo de aplicación que estés construyendo. Cada aplicación tiene acceso a las mismas funciones de runtime, API y lenguaje. También incluye mejoras de rendimiento en CoreFX, que se realizan casi a diario.

Todo lo que amas de .NET Core seguirá existiendo:

  • Código abierto y orientado a la comunidad en GitHub.
  • Implementación multiplataforma.
  • Soporta aprovechar funciones específicas de la plataforma, como formularios de Windows y WPF en Windows, así como enlaces nativos para cada plataforma nativa de Xamarin.
  • Alto rendimiento.
  • Instala uno al lado del otro.
  • Pequeños archivos de proyecto (estilo SDK).
  • Compatible con interfaces de línea de comandos (CLIs).
  • Integración con Visual Studio, Visual Studio para Mac y Visual Studio Code.


También hay algunas novedades:

  • Tendrás más opciones para tu experiencia en tiempo real (más sobre eso abajo).
  • La interoperabilidad con Java estará disponible en todas las plataformas.
  • Múltiples sistemas operativos soportarán la interoperabilidad Objective-C y Swift.
  • CoreFX se ampliará para soportar adelanto temporal (AOT) para .NET, una huella menor y soporte para más sistemas operativos.


Lanzaremos .NET Core 3.0 en septiembre de este año, .NET 5 en noviembre de 2020, y luego tenemos la intención de lanzar una versión principal del archivo . NET:



Saltamos la versión 4 porque confundiría a los usuarios familiarizados con el .NET Framework, que lleva mucho tiempo existiendo con la serie 4.x. Además, queremos comunicar claramente que .NET 5 es el futuro de la plataforma .NET. Llamarlo .NET 5 lo convierte en la versión más alta que hemos lanzado jamás.

También aprovechamos esta oportunidad para simplificar la denominación. Pensamos que si solo un .NET es el mejor, no necesitamos un término aclarador como "Core". El nombre más corto es una simplificación y también transmite el mensaje de que .NET 5 tiene funcionalidad y comportamiento uniformes. Por supuesto, puedes seguir usando el nombre ".NET Core" si quieres.

Experiencia en tiempo real

Mono es la implementación original multiplataforma de .NET. Comenzó como una alternativa de código abierto al .NET Framework y luego pasó a ser específica para móviles con la popularidad de iPhone/iOS y dispositivos Android. Mono es un runtime que se utiliza como parte de Xamarin.

CoreCLR es un entorno de ejecución que se utiliza como parte de .NET Core. Se utiliza principalmente para dar soporte a aplicaciones en la nube, incluido el mayor servicio de Microsoft, y ahora también se emplea en aplicaciones de escritorio Windows, IoT y aprendizaje automático.

En resumen, los runtimes .NET Core y Mono comparten muchas similitudes (al fin y al cabo, ambos son runtimes), pero también tienen características únicas y valiosas. Tiene mucho sentido poder elegir la experiencia de ejecución que quieres. Estamos haciendo que CoreCLR y Mono sean intercambiables entre sí. Lo haremos tan sencillo como construir un switch para elegir entre diferentes opciones de ejecución.

Las siguientes secciones describen el enfoque principal que planeamos usar para .NET 5. Ofrecen una perspectiva clara sobre cómo planeamos evolucionar estos dos runtimes individualmente y juntos.

Alto rendimiento y alta productividad

Desde el principio, .NET dependió de compiladores justo a tiempo (JITs) para convertir código de lenguaje intermedio (IL) en código máquina optimizado. Desde entonces, hemos construido un runtime gestionado basado en JIT líder en la industria, con un rendimiento muy alto y que también mejora la experiencia de los desarrolladores, haciendo que la programación sea rápida y sencilla.

JIT es ideal para escenarios de nube y clientes de larga duración. Son capaces de generar código configurado para máquinas específicas, incluyendo instrucciones específicas de CPU. JIT también puede regenerar métodos en tiempo de ejecución, una técnica que hace que JIT sea más rápido, aunque aún así tiene la opción de generar versiones altamente optimizadas del código si se convierte en un método de uso frecuente.

Nuestros esfuerzos para que ASP.NET Core funcione más rápido en el benchmark Techpower son un gran ejemplo del poder de JIT y de nuestra inversión en CoreCLR. Nuestros esfuerzos por reforzar .NET Core para contenedores también son un testimonio de la capacidad del entorno de ejecución para adaptarse dinámicamente a entornos restringidos.

Las herramientas para desarrolladores son otro gran ejemplo de lo bueno que es JIT, como las herramientas de reloj dotnet o editar y continuar. Las herramientas a menudo necesitan compilar y cargar código varias veces en un solo proceso sin reiniciar, y deben hacerlo muy rápido.

Los desarrolladores que usan .NET Core o .NET Framework dependen principalmente de JIT. Por lo tanto, la experiencia debería ser familiar.

La experiencia predeterminada para la mayoría de los escenarios de funcionamiento de .NET 5 utiliza el runtime CoreCLR basado en JIT. Dos excepciones notables son iOS y el cliente Blazor (ensamblador web), ya que ambos requieren compilación nativa ahead-of-time (AOT).

Arranque rápido, huella reducida y bajo consumo de memoria

La mayor parte del proyecto Mono se ha centrado en móviles y consolas. Una característica clave y resultado del proyecto es el compilador AOT de .NET basado en el proyecto líder de la industria LLVM. El compilador AOT de Mono permite integrar código .NET en un ejecutable nativo que puede ejecutarse en un ordenador, igual que el código C++. Las aplicaciones compiladas por AOT pueden funcionar eficientemente en ubicaciones más pequeñas y intercambiar el rendimiento para el arranque cuando sea necesario.

El proyecto Blazor ya está usando Mono AOT. Este será uno de los primeros proyectos en hacer la transición a .NET 5. Lo usamos como una de las opciones para demostrar este plan.

Existen dos tipos de soluciones AOT:

  • Requiere una solución que esté 100% compilada en AOT.
  • La mayoría del código es una solución compilada por AOT, pero JIT o intérpretes pueden usarse para patrones de código que no son compatibles con AOT (como genéricos). Mono AOT soporta ambos casos. Apple requiere el primer AOT para iOS y algunas consolas por razones de seguridad. El segundo método es una mejor opción porque ofrece las ventajas de AOT y evita algunas de las desventajas.


.NET Native es nuestro compilador AOT para aplicaciones UWP de Windows, y también es un ejemplo del primer tipo AOT mencionado anteriormente. En esta implementación en particular, limitamos la API .NET y las funciones que puedes usar. Aprendimos de esta experiencia que las soluciones AOT deben cubrir todos los aspectos de las APIs y patrones de .NET.

La compilación AOT sigue siendo necesaria en iOS, ensamblador web y algunas consolas. Para aplicaciones que requieren un arranque más rápido o poca huella, pondremos la compilación AOT como opción.

El nacimiento del proyecto

Comenzamos este proyecto en diciembre de 2018 con un equipo técnico en Boston. Los líderes de diseño del equipo .NET (Mono/Xamarin y .NET Core) y Unity presentaron una variedad de capacidades técnicas y direcciones arquitectónicas.

Ahora estamos avanzando con este proyecto como equipo con un conjunto de entregables. Hemos avanzado mucho en varios proyectos desde diciembre:

  • Se define una capa mínima que define la capa de código gestionado en tiempo de ejecución <-> con el objetivo de lograr el >99% del código público de CoreFX.
  • MonoVM ahora puede usar CoreFX y sus bibliotecas de clases.
  • Ejecuta todas las pruebas de CoreFX en MonoVM con la implementación de CoreFX.
  • Ejecuta ASP.NET aplicaciones Core 3.0 con MonoVM.
  • Ejecuta MonoDevelop en CoreCLR y luego ejecuta Visual Studio para Mac.


Migrar a un solo archivo . La implementación de .NET plantea algunas preguntas importantes: ¿Cuál será el framework objetivo? ¿Son las mismas reglas de compatibilidad de paquetes de NuGet? ¿Qué cargas de trabajo debería soportar el SDK de .NET 5? ¿Cómo programo para una arquitectura específica? ¿Seguimos necesitando .NET Standard?
Estamos trabajando en estos temas ahora y pronto compartiremos el documento de diseño para que lo leáis y os dé su opinión.

Epílogo

El proyecto .NET 5 es una dirección nueva e importante y emocionante para .NET. Verás que .NET se vuelve más sencillo, pero también con una gama más amplia de funciones y utilidad. Todos los nuevos desarrollos y características formarán parte de .NET 5, incluidas las nuevas versiones de C#.

Vemos un futuro prometedor en el que podrás usar las mismas APIs y lenguajes .NET para dirigirte a una amplia variedad de tipos de aplicaciones, sistemas operativos y arquitecturas de silicio. En Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps o la línea de comandos, es fácil cambiar la configuración de compilación para crear diferentes aplicaciones.

Enlace original:El inicio de sesión del hipervínculo es visible.





Anterior:Método de la cadena de separación de comas
Próximo:SQL Server 2012 proporciona OFFSET/FETCH NEXT frente a Row_Number() para pruebas comparativas
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com