.Net: todo lo que necesitas saber
.Net: todo lo que necesitas saber
May 14, 2021
Jesualdo Matos estudió Ingeniería Informática y es Desarrollador .NET en PrimeIT. Como experto en esta área, le pedimos que nos explicara brevemente cómo funciona la plataforma. Este es el resultado:
“Durante los últimos 2 años he estado trabajando con .NET como mi principal plataforma de desarrollo. Siempre que alguien me pide una definición sencilla, me resulta difícil encontrar una respuesta clara y concisa. Entonces decidí recopilar las ideas más importantes, que intentaré explicar.
¿Cuáles son los conceptos más importantes?
.NET (pronunciado “dot net”) es un framework gratuito y multiplataforma (Windows, Linux y macOS), de código abierto, para el desarrollo de modelos de aplicaciones, como Web, Desktop o Mobile Apps, Games e IoT.
.NET es el código abierto bajo .NET Foundation.
.NET Foundation es una organización independiente que promueve el desarrollo abierto y la colaboración en torno al ecosistema .NET.
La plataforma es donde se ejecuta el código, incluidas las referencias al tiempo de ejecución, y dónde están disponibles las herramientas de desarrollo, como los compiladores.
Las 4 implementaciones principales en tiempo de ejecución para .Net son:
– El antiguo .NET Framework, cuyo desarrollo ha sido suspendido, pero que sigue siendo compatible como componente del sistema operativo Windows;
– Mono, una implementación de código abierto de .NET Framework;
– .NET Core, la nueva versión de código abierto del marco .NET de Microsoft;
– .NET nativo para la plataforma universal de Windows.
Los programas escritos para .NET se ejecutan en un entorno de software, denominado Common Language Runtime (CLR), que a su vez es una máquina virtual para aplicaciones que brinda servicios como seguridad (seguridad de tipos, acceso a memoria, …), gestión de memoria (asignación, recolección de basura, …) y manejo de excepciones. El CLR ejecuta el software compilado en lenguaje intermedio (IL). Cualquier lenguaje que compile para IL se puede ejecutar en un runtime .NET.
Los compiladores .NET producen assemblies (archivos con la extensión .dll), que contienen código ejecutable en forma de instrucciones IL e información simbólica en forma de metadatos.
Antes de ejecutarse, el CLR convierte el código IL de un assembly en código específico del procesador.
Las bibliotecas
Todas las implementaciones de .NET implementan un conjunto básico de APIs, el estándar .NET.
Cada implementación también puede exponer APIs adicionales, específicas de los sistemas operativos en los que se ejecuta. Por ejemplo, .NET Framework es una implementación de .NET exclusiva para Windows, que incluye API para acceder a los registros de Windows.
Además del estándar .NET, también está NuGet, el administrador de paquetes estándar y repositorio de bibliotecas .NET, donde podemos encontrar más de 200.000 paquetes.
C#, F# y Visual Basic: los lenguajes .NET
.NET admite varios lenguajes de programación, implementando Common Language Infrastructure (CLI) (un estándar ECMA – ECMA-335), que, entre otras cosas, especifica un tiempo de ejecución independiente del lenguaje. Esto significa que es posible elegir cualquier lenguaje .NET para crear aplicaciones y servicios .NET. Los más utilizados son C#, F# y Visual Basic:
– C# es un lenguaje de programación orientado a objetos, estandarizado por ECMA e ISO (ECMA-334, ISO / IEC 23270);
– F# es un lenguaje de programación de código abierto funcional para .NET, que también incluye programación imperativa y orientada a objetos;
– Visual Basic es un lenguaje orientado a objetos, pero tiene una sintaxis accesible, que usa más palabras que símbolos.
¿Cuáles son las diferencias entre LTS y GA?
En .NET, hay 2 tipos de lanzamientos: soporte a largo plazo (LTS) y actuales (GA). Los primeros son compatibles durante tres años después del lanzamiento inicial y las versiones actuales son compatibles durante tres meses, después de una versión actual o LTS posterior. El soporte a largo plazo recibe solo correcciones críticas y compatibles a lo largo de su ciclo de vida, mientras que las versiones de GA reciben esas mismas correcciones y actualizaciones con innovaciones y características compatibles.
Y tú, ¿ya has trabajado con .NET? ¿Cuáles son tus impresiones? »
Jesualdo Matos
Desarrollador .NET – PrimeIT