.NET Framework es un entorno de ejecución administrado que proporciona diversos servicios a las aplicaciones en ejecución. Consta de dos componentes principales: Common Language Runtime (CLR), que es el motor de ejecución que controla las aplicaciones en ejecución; y la biblioteca de clases de .NET Framework, que proporciona una biblioteca de código probado y reutilizable al que pueden llamar los desarrolladores desde sus propias aplicaciones.

784px-Diagrama_Interno_CLR

 
Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los siguientes:
  • Administración de la memoria. En muchos lenguajes de programación, los programadores son responsables de asignar y liberar memoria y de administrar duraciones de objeto. En las aplicaciones de .NET Framework, CLR proporciona estos servicios en nombre de la aplicación.
  • Sistema de tipos comunes. En los lenguajes de programación tradicionales, el compilador definen los tipos básicos, que complica la interoperabilidad entre lenguajes. En .NET Framework, los tipos básicos se definen según el sistema de tipos de .NET Framework y son comunes para todos los lenguajes cuyo destino es .NET Framework.
  • Biblioteca de clases extensa. En lugar de tener que escribir cantidades extensas de código para controlar operaciones comunes de programación de bajo nivel, los programadores puede usar una biblioteca de tipos de acceso directo y sus miembros de la biblioteca de clases de .NET Framework.
  • Frameworks y tecnologías de desarrollo. .NET Framework incluye bibliotecas para determinadas áreas de desarrollo de aplicaciones, como ASP.NET para aplicaciones web, ADO.NET para el acceso a los datos y Windows Communication Foundation para las aplicaciones orientadas a servicios.
  • Interoperabilidad de lenguajes. Los compiladores de lenguajes destinados a .NET Framework emiten un código intermedio denominado Lenguaje intermedio común (CIL), que, a su vez, se compila en tiempo de ejecución por Common Language Runtime. Con esta característica, unos lenguajes pueden acceder a las rutinas escritas en otros, y los programadores pueden concentrarse en crear aplicaciones en su lenguaje o lenguajes preferidos.

DotNetArchitecture

  • Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se desarrollan con una versión determinada de .NET Framework se pueden ejecutar sin modificaciones en una versión posterior.
  • Ejecución en paralelo. .NET Framework ayuda a resolver conflictos entre versiones permitiendo que varias versiones de Common Language Runtime existan en el mismo equipo. Esto significa que también pueden coexistir varias versiones de las aplicaciones, y que una aplicación se puede ejecutar en la versión de .NET Framework con la que se compiló.
  • Compatibilidad con múltiples versiones (multi-targeting). Al usar la Biblioteca de clases portable de .NET Framework, los desarrolladores pueden crear ensamblados que funcionan en varias plataformas de .NET Framework, como Windows 7, Windows 8, Windows Phone y Xbox 360.

Sources:

Anuncios