miércoles, 6 de abril de 2016

Microsoft, Portable, Open source y Community Open. Todo en la misma oración.

Durante el 2015, Microsoft publicó varias novedades importantes para los desarrolladores. Entre ellas se encuentran la nueva plataforma de .NET, el Visual Studio Code, ASP.Net Core (antes llamado ASP.Net 5) y varios etcéteras.

En el mismo evento en el cual se presentaba la nueva versión del Framework .Net 4.6, se publicó la versión oficial del nuevo conjunto de bibliotecas llamado .Net Core, que a diferencia del 4.6, es multiplataforma. Si, ¡multiplataforma! Esto quiere decir que hay versiones del .Net Core para sistemas Windows (obviamente), para Linux y para MacOs. O sea, creamos una aplicación en Visual Studio 2015 que utilice el .Net Core y la podemos ejecutar en un sistema con Ubuntu.

Pero no sólo el runtime es lo que se migró a otras plataformas, sino que también se crearon distintos compiladores para estos SO, bajo un proyecto llamado Roslyn.


Por otro lado, también se publicó el Visual Studio Code. Una IDE simple pero potente que, además, es multiplataforma y multilenguaje y que se encuentra enfocada en la posibilidad de tener las mismas funcionalidades en todos los ambientes. Vendría a ser como el hermanito menor (en pañales, pero con superfuerza) del Visual Studio 2015. De todas maneras, al tener un set de bibliotecas (.Net Core) y un compilador (Roslyn) uno puede codificar en cualquier IDE que desee. Es más, hay competencias que regalan dinero para las mejores aplicaciones .Net desarrolladas en Eclipse, aunque convengamos que cualquiera que usó el Visual Studio no quiere saber nada con Eclipse.

La nueva versión de ASP.Net, que desde mitad de enero del 2016 se llama ASP.Net Core 1.0, permite crear aplicaciones web con el Framework .Net 4.6 y .Net Core. La diferencia es que con la última nos aseguramos que si nuestro DataCenter sólo tiene servidores Linux ,no vamos a tener ningún problema para publicarlas. Sin embargo, hay que tener en cuenta que no todo lo que se hace con .Net 4.6 puede hacerse con .Net Core y, obviamente, muchas cosas se realizan de diferente manera por tener que estandarizarlas para cada uno de los sistemas operativos.

Otra de las principales características del Framework .Net Core, es que es Open Source. Es decir que uno puede descargarse de Git los fuentes y ver cómo está hecho y, si encontramos que algo se podría cambiar, podemos tener nuestra propia versión modificada o plantearla en los foros de DotNetFundation para ver si es aceptada por el resto de la comunidad.


Los que trabajan en otras tecnologías podrían pensar que estas novedades ya son conocidas desde hace bastante tiempo en sus sistemas, pero que Microsoft haya hecho esta movida, en donde se abre a la comunidad y se retroalimenta de la misma, es un gran paso para que todos tengamos mejores y más diversos sistemas.

Por otra parte, atrás de todo esto se encuentra Azure, que nos ofrece una plataforma donde poder correr ASP.Net Core, y esto significa que podría ser implementado en servidores Linux o Windows, según su propia disponibilidad, sin que nos afecte a los que desarrollamos el sistema.

Este es un primer pantallazo de .Net Core, pero recomiendo investigar un poco más sobre las novedades de .Net 4.6, Entity Framework y el lenguaje C# 7.

Es probable que en poco tiempo veamos cómo los caminos de .Net 4.6 y .Net Core se entrecruzan y alguna funcionalidad la tengamos primero en uno de los frameworks y luego en el otro, pero lo que es seguro, es que ambos van a crecer y ofrecer nuevas posibilidades en un futuro no tan lejano.


Más información:



Autor:
Marcelo Mosquera
.NET Architect