Para explicar detalladamente, .NET 5 será en realidad la siguiente versión de .NET Core, lo que pasa es que eliminan el «Core» del nombre y se saltan la versión 4.0 para ir directamente a la 5.0. Además, meten bajo el mismo tejado tecnologías que antes estaban solamente en .NET tradicional ya que para entonces esperan haber migrado todas las APIs tradicionales (de Microsoft, claro) a .NET Core, y si no las han migrado es, bien porque están obsoletas, o porque existe una API diferente más moderna que la sustituye con éxito.
La idea central que se persigue es mejorar .NET obteniendo:
- Una única plataforma .NET unificada y un único runtime de .NET que funcione igual en todos los sistemas y ofrezca las mismas posibilidades en todos los entornos de desarrollo, para crear aplicaciones de todo tipo: escritorio, Web, móvil, Cloud…
- Ampliar la capacidad de .NET Core incluyendo también lo mejor de .NET tradicional, Xamarin e incluso Mono.
- Tener una única base de código y no varias separadas como pasa ahora.
En teoría esto está genial, ya que en .NET 5 todos los desarrollos compartirán el mismo tipo de archivos de proyecto, el mismo runtime, las mismas capacidades de los lenguajes y tendrán acceso a las mismas APIs, independientemente del tipo de aplicación que estés construyendo. Y todo ello combinado con las estupendas capacidades que ofrece .NET Core hoy en día: multiplataforma, mucho mayor rendimiento, menor uso de memoria, modularidad para usar sólo lo que necesites, facilidad de ejecución side-by-side… También tendrá interoperabilidad sencilla con Java para todas las plataformas, interoperabilidad con Objective-C y Swift en varios sistemas operativos, y CoreFX (el corazón de .NET Core) añadirá soporte para cuestiones como la compilación Ahead Of Time (estática).
En realidad, hay cosas que se están migrando (como por ejemplo Windows Forms) que sólo funcionarán en Windows porque dependen de APIs del sistema sólo presentes en este sistema operativo. Otras cuestiones propias de Xamarin estarán atadas a sistemas operativos móviles.
Todas las aplicaciones de .NET 5 van a utilizar CoreFX por debajo, el motor de .NET Core, con las ampliaciones y cambios que le harán durante los próximos meses. Lo que van a hacer para lograrlo es añadirle cosas para garantizar que funciona en los sitios en los que ahora mismo no puede, básicamente en aplicaciones móviles con Xamarin y en aplicaciones Web basadas en WebAssembly con Blazor. Pero, como digo, seguramente algunas cosas no funcionarán en todas partes de todas formas.
Cuándo lanzarán .NET 5
El lanzamiento de .NET 5 está programado para noviembre de 2020. Seguramente habrá algunas betas a finales del primer semestre del año, pero conociendo el histórico del desarrollo de .NET Core, es posible que entre las betas/RCs y la versión final haya muchísimos cambios.
En el ínterin, si tienes curiosidad y nivel suficiente, puedes ir viendo los avances constantes en el desarrollo a través de los diversos proyectos Open Source que hay detrás de este proyecto.
¿Qué significa todo esto en la práctica? ¿Qué implica para mí?
Es difícil dar una respuesta categórica hasta que lancen la versión definitiva, pero creo que sí hay unas cuantas cosas claras al día de hoy:
- El futuro de .NET es .NET Core. Da igual que le llamen .NET 5: sigue siendo .NET Core y todo o que aprendas ahora te servirá para después con esta nueva versión.
- .NET 4.8 será la última versión de .NET «clásico» que aparezca y la plataforma se queda en «mantenimiento». Es un producto maduro y muy capaz y no va a desaparecer. Se seguirá distribuyendo con Windows (por lo que siempre la tienes ahí disponible) ya que el propio sistema depende de ella y se seguirán lanzando actualizaciones de estabilidad, seguridad y arreglo de bugs. Si quieres un desarrollo sin sobresaltos y atado a Windows, sigue siendo quizá la mejor opción.
- No tienes que (ni debes) migrar tus aplicaciones actuales a .NET Core o .NET 5 cuando esté disponible. Seguirán siendo plataformas diferentes y la migración directa no suele ser una buena idea.
- Si quieres/tienes que aprender .NET, aprende .NET Core y C#. Salvo que tengas que trabajar con aplicaciones antiguas, aunque se parecen mucho.
En cualquier caso, la idea que hay detrás de todo esto es buena, sabemos que .NET Core es el futuro y que aprendiendo ahora .NET Core no nos arrepentiremos de apostar por la plataforma ni a corto ni a largo plazo, ya que .NET 5 será tan solo .NET Core con otro nombre (no creo ni que cambien los espacios de nombre que ahora mismo llevan core
por todas partes).
Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.
¿Te gustaría aprender ASP.NET Core?
Tenemos los cursos y diplomados que necesitas.¡Haz clic aquí!