domingo, 3 de julio de 2016

.Net Core ya está aquí

El pasado lunes 27 de Junio se presentó la primera version de .Net Core

Como pasa el tiempo…, a principios del 2014 estaba emocionado con algunos de los anuncios de la TechEd, sobre todo por el Asp.Net/VNext. Más de dos años después se da el primer paso para tener un .Net multiplataforma real, un nuevo framework nacido para sustituir al original, pero que ha iniciado con dudas y con muchos cambios en los últimos años, sin tener muy claro si se hará un camino.

El equipo de ASP.Net parece desde fuera el niño bonito de Microsoft, Scott Guthrie que llegó para encabezar el equipo no tardó en ponerse a los mandos de Azure. A medida que ha ido ascendiendo ha ido poniendo a gente de su confianza en  puestos importantes, como Scott Hunter que fuel el que sucedió a Guthrie como responsable del equipo de ASP.Net
Toda esta gente tiene un punto en común y es su apuesta por el open source. Liberando el código de ASP.NET y liberando finalmente el código del propio framework de .net y creando la fundación .Net Foundation (una especie de apache foundation, pero centrada en el ecosistema .Net)

Hunter fuel el que empezó ASP.Net 5, que realmente era un nuevo framework web de Microsoft que no tenía nada que ver con ASP.Net, pero no querían perder el nombre de la marca, así que ASP.Net/Next se transforma en ASP.Net y comienza el reto de crear un runtime multiplataforma para poder ejecutar las aplicaciones no solo en IIS, si no en cualquier servidor y/o sistema operativo.
Además, el equipo de Hunter había adquirido el equipo de Entitty Framework, que abandonaba ADO.NET para depender de ASP.NET). Como el acceso a datos es importante para las aplicaciones web, deciden que la nueva versión de EF (en aquel momento la llaman EF7) será también multiplataforma y dará soporte a almacenamiento SQL y NoSQL. Por lo que el nuevo EF se comienza a escribir desde cero y debe funciona en el nuevo runtime multiplataforma.

Las primeras versiones que se muestran de ASP.Net 5 son confusas, se habla de aplicaciones de consola de ASP.Net, que EF 7 no da soporte al diseñador y que se sigue evolucionando EF6.
Tras los malos entendidos resultantes de las presentaciones y lo difícil que resultaba explicar que ASP.Net 5 era un framework completamente distinto a la versión anterior, deciden renombrar a ASP.Net Core y EF Core, los dos corriendo en .Net Core

image

Pero antes de la publicación de la versión 1.0, llegaba el último gran anuncio, .Net Core volverá a usar MsBuild. Lo cierto es que Microsoft no puede hacer cambiar a todo el mundo sus ficheros de proyecto basados en MSBuild (Xamarin, UWP, …), así que se decide volver a cambiar.
Pero lo cierto, es que a pesar de ser un cambio muy importante, los ficheros de proyecto json dan mucha funcionalidad (como se puede ver en la wiki original). En el momento de escribir estas líneas, nadie tiene claro qué pasa, ni en la documentación de Microsoft está claro, por ejemplo con los comandos:

image

Aunque parece que Microsoft está dando bandazos, espero que todo esto merezca la pena.
Recordemos que .Net Core es un subconjunto del framework completo, se pueden hacer aplicaciones UWP, pero no WPF o WinForms. En la parte web pasa algo similar, hay MVC pero no WebForms, es de esperar que parte de del framweork se migre, pero las apis que estan fuertemente atadas al sistema operativo (como WinForms o WebForms) no se migrarán. Quizás este gráfico de Scott Hanselman lo explique todo mejor:
image 
Parece mentira que el nicho de negocio de Microsoft sea la gran empresa y que con este nuevo framework y sus bandazos asustan más que tranquilizan. De todas formas, hay muchas cosas que tienen muy buena pinta y espero que cuando todo esto se estabilice estemos ante un gran producto. En el momento de escribir estas líneas, en el roadmap vemos que aun no hay soporte para VB o SignalR

image

No hay comentarios:

Publicar un comentario