Visual Studio 2019 y .NET
Novedades de Visual Studio 2019
No sin cierta curiosidad muchos desarrolladores han descubierto la nueva versión de Visual Studio. ¿Qué cambios serían necesarios para crear aplicaciones respetando la filosofía de la plataforma ASP.NET? Esta versión confirma la nueva estrategia de Microsoft en términos de desarrollo de aplicaciones y de apertura a sistemas no Windows.
La aparición de ASP.NET 2019 coincide con la publicación de una nueva gama de herramientas de desarrollo, con no uno sino dos frameworks. Por supuesto, el sistema nativo Windows .NET framework se ve enriquecido con nuevas posibilidades en sus versiones 4.7.2.
Pero Microsoft juega la carta de la apertura a otros entornos con.NET Core. Este otro framework comparte los mecanismos de ejecución de código .NET, pero se diferencia por su modelo de aplicación ASP.NET. Su arquitectura original se basa en una presentación en tres capas, al mismo tiempo que se despliega en servidores no Windows. Más que un centro agnóstico del framework clásico, .NET Core ofrece otra manera de desarrollar sitios web.
La versión 2019 de Visual Studio amplía el proceso de desarrollo de una aplicación .NET sobrepasando el marco de la productividad individual. En lo sucesivo, la cloud hace que sea posible la gestión de todo el ciclo de vida del desarrollo, desde un espacio compartido Azure DevOps. Además, Microsoft ofrece de manera estándar el mantenimiento de código fuente según los protocolos TFS (Team Foundation Services) o GitHub, este último cada vez más utilizado por las comunidades de desarrolladores.
Microsoft ha introducido el modelo ALM (Application Lifecycle Management) que rige la creación de aplicaciones, integrando las tecnologías necesarias para realizar el diseño, el desarrollo, las pruebas y el despliegue. La oferta de Visual Studio 2013 es una plataforma que agrupa herramientas destinadas a todos los protagonistas de un proyecto de software, sean o no informáticos.
Para combatir ofertas competidoras, a menudo open source, y que pueden adquirirse sin realizar ninguna inversión, Microsoft ha lanzado Visual Studio Community, edición gratuita y sin embargo muy completa, que se ha utilizado en gran medida para escribir este libro. Los desarrolladores pueden guardar su código...
C#8 de un vistazo
Tras haber descrito las características del nuevo entorno de desarrollo y, en particular, de Visual Studio, vamos a continuación a descubrir la evolución del lenguaje C#. En esta presentación figuran aquellos aportes del lenguaje que tienen un impacto directo en el desarrollo ASP.NET. El lector encontrará un estudio más sistemático del lenguaje en el libro C#8, publicado por Ediciones ENI.
1. Clases parciales
Se trata de un mecanismo que aligeraba el modelo de compilación de los sitios web ASP.NET 1.X. Recordemos que, en este modelo, Visual Studio generaba mucho código y que el resultado se compilaba antes de la ejecución. En el nuevo modelo, el código escrito por el programador se enriquece en el servidor de aplicaciones ASP.NET (bajo la forma de inyección de código intermedio IL o de código C# compilado dinámicamente), y por Visual Studio gracias a las clases definidas en varios archivos de código fuente, las clases parciales.
Desde el punto de vista del CLR las clases están definidas completamente. No obstante, el proceso de compilación admite que la definición de un tipo se reparta en varios archivos de código fuente.
De este modo, podemos tener en un primer archivo Test1.cs la siguiente definición:
public partial class Test
{
private string info;
public string Info
{
get { return Test.info; }
set { Test.info = value; }
}
}
En un segundo archivo, completamos la definición de la clase con:
partial class Test
{
public override string ToString()
{
return "test";
}
}
El programador que utilice una instancia de la clase Test tendrá acceso a ambos miembros Info y ToString. El hecho de que la clase se defina en varios archivos no cambia en nada su uso.
Las clases parciales se introducen para simplificar el desarrollo ASP.NET. A día de hoy, Microsoft no propone ningún otro uso.
2. Métodos anónimos
El uso de la programación orientada a objetos se ha democratizado gracias a la llegada...
Las variantes de .NET
Microsoft ya no es único en ofrecer máquinas virtuales .NET. El lenguaje C#, su compilador, la librería de clases y el entorno de ejecución forman parte de diferentes entornos. El primer proyecto fue Mono, que ofrece programar en .NET bajo Linux. Después vinieron otras iniciativas, generando muchas variantes de .NET. Pero, en ese punto, ¿este framework original sigue dependiendo del entorno Windows? El lenguaje y la CLR no lo son todo, sino que es necesario considerar los servidores de aplicaciones ASP.NET, los juegos de controles de usuario, etc.
Parece que Microsoft en algún momento promovió la adopción extensa y fuera de Windows de .NET, manteniendo estas iniciativas. Ahora llega el momento de la sintaxis y de la apertura: Microsoft ofrece a sus adeptos seguidores desarrollar con sus propio .NET en plataformas que pueden no ser Windows. Este nuevo enfoque se llama .NET Core, y va a desarrollarse en paralelo a la versión original "para Windows", .NET Framework.
1. .NET Core
.NET Core es una implementación específica diseñada para funcionar al mismo tiempo en Windows y en otros entornos, como Linux o Mac OS. Visual Studio ofrece dos formatos de aplicación .NET Core: de tipo consola o sitio web ASP.NET.
Por supuesto, las librerías de clases DLL vienen a completar el conjunto, ya sea el usuario el que las defina o no. El conjunto de DLL de sistema...