Prefacio

El 24 de Febrero de 2016 tuvo lugar en Madrid la segunda edición de la DotNetSpain, la conferencia más importante sobre desarrollo .NET de España. Entre los invitados de honor pudimos ver sobre el escenario a Satya Nadella, Microsoft CEO, ofreciéndonos la visión estratégica global de la compañía, con su “empower every person and every organization on the planet to achieve more”. También, a Scott Hanselman y Scott Hunter (vía Skype) como anunciaban la adquisición de Xamarin

Bajando al plano técnico, tuvimos a miembros de primer nivel de la comunidad Microsoft en España hablandos sobre los muchos aspectos técnicos del mundo .NET, entre ellos de .NET Core, el tema estrella de este año, sin duda alguna. Y entre los ponentes, algunas quejas que cada vez son más comunes:

Van a haber cambios en .NET Core chicos, lo que veáis hoy, puede que sea un poco diferente mañana. No os asustéis, lo que aprendáis hoy os servirá mañana, pero puede variar ligeramente la forma de llegar a los sitios.

Cambios que afectan a todo el ecosistema .NET Core… que no son profundos pero, en definitiva, “rompen” cosas, y que le están valiendo a Microsoft cada vez más críticas,

Y ahí surge la pregunta: ¿Qué está pasando con .NET Core?

Se abre la veda

Scott Hanselman abría la veda con este post en su blog, el 19 de enero de 2016: ASP.NET 5 is dead – Introducing ASP.NET Core 1.0 and .NET Core 1.0. 7 días más tarde, el 26 de enero, Damien Edwards (Principal PM Manager for ASP.NET) hacía el renombrado dentro del Roadmap de .NET Core en GitHub y  “oficializaba” el retraso indefinido del lanzamiento de la RC2 de ASP.NET Core.

asp-net-core-1-0

Así pues, actualmente nos encontramos en un punto muerto, en el que parte de lo aprendido deja de ser útil a futuro (DNX, por ejemplo, morirá en la RC2 en favor de la nueva dotnet cli). Pero el conocimiento global, sin duda, seguirá siendo valido. Esto no impide, sin embargo, seguir haciendo pruebas con la RC 1 tal y como hemos venido haciendo hasta la fecha.

¿Qué esta pasando?

A pesar de esto, ¿realmente es un problema que se introduzcan estos cambios? Sinceramente, creo que no. Lo que está pasando es que tenemos acceso a mucha más información que antes. Tan fácil como eso. No estamos acostumbrados a tanta “transparencia”. Y es que resulta insólito (para la gente que no trabajamos en Microsoft) tener tanta visibilidad sobre lo que los equipos de producto están trabajando. No estamos acostumbrados a tener tantos detalles sobre el proceso de creación de sus productos, las discusiones internas, los vaivenes y decisiones que llevan a un producto a ser lo que es.

Lo que está pasando es que tenemos acceso a mucha más información que antes. No estamos acostumbrados a tener tantos detalles sobre el proceso de creación de sus productos, las discusiones internas, los vaivenes y decisiones que llevan a un producto a ser lo que es.

Información que, por otro lado, me ha servido de base para crear todos y cada uno de los posts sobre ASP.NET Core que puedes encontrar en este blog. Y por la que, muy a mi pesar, he tenido que etiquetar con un “OBSOLETO” en los títulos. ¿Mi objetivo? Simple: advertir al visitante que el contenido del blog funciona solo sobre ASP.NET Core RC 1, pero no más allá. Desde RC2 en adelante tendré que reescribir parte los artículos, adaptándolos a los cambios que los equipos de .NET Core, ASP.NET Core y Entity Framework Core introduzcan.

Pero, sin duda, tendré mucho más conocimiento de hacia donde va .NET y cómo funciona internamente, que nunca antes.

Las críticas

Para aquellos que critican estos vaivenes: ¿prefieres el secretismo, el Microsoft 1.0 “cerrado”, sobre el cual poco se sabe si no estás muy cerca de sus círculos de “confianza”? ¿O esta versión 2.0 más abierta, transparente y accesible para cualquier persona del mundo?

Sinceramente, prefiero correr el riesgo de trabajar con cosas que puedan cambiar, que esperar a que todo el pescado esté vendido y llegar tarde para conocer de primera mano las novedades.

A nivel de desarrollo, al menos, Microsoft ya no es lo que era. Se acabó el secretismo. El código cerrado. El foco en Windows. También se acabó el drag&drop, las herramientas de desarrollo para Dummies. Hoy el mundo va hacia el mobile-first, cloud-first y, si quieres estar en él, vas a tener que estar dispuesto a pagar un precio.

Siempre te quedará .NET 4.6

También es cierto que, como parte de su estrategia, Microsoft está manteniendo su línea de negocio actual (ya sabes, mantener contento a los inversores y esas cosas). Es una bifurcación en el camino, mientras los nuevos modelos de negocio basados en servicios (Azure, Office 365) son capaces de sustentar económicamente a la compañía.

Así pues, por el momento podrás seguir utilizando .NET 4.6, Visual Studio 2015, MVC 5 y Entity Framework 6… todo tal y como lo has conocido hasta la fecha.

A cambio, eso sí, de empezarte a quedar atrás en el tiempo, en los tiempos del Microsoft 1.0, de perder otras posibilidades como dejar de lado el DevOps 2.0 o correr tu código en cualquier plataforma, sin dejar de utilizar tu lenguaje de programación favorito (C# rulez).

Renovarse o morir, reza nuestro refranero.

O, como puede que hayas podido leer en las redes sociales:

Los analfabetos del siglo XXI no serán aquellos que no sepan leer o escribir, sino aquellos que no puedan aprender, desaprender y reaprender

– Alvin Toffler

¿Y tú? ¿Te vas a renovar a .NET Core?