¿Qué es .NET?
.NET es toda una nueva arquitectura tecnológica, desarrollada por Microsoft para la creación y distribución del software como un servicio. Esto quiere decir, que mediante las herramientas de desarrollo proporcionadas por esta nueva tecnología, los programadores podrán crear aplicaciones basadas en servicios para la Web.
Con .NET se busca flexibilizar y enriquece el modo en el que hasta ahora se construían aplicaciones para Internet.
La idea que subyace bajo esta tecnología, es la de poblar Internet con un extenso número de aplicaciones, que basadas en servicios para la Web (Web Services), formen un marco de intercambio global.
En este sentido, un programador puede crear Web Services para que sean utilizados por sus propias aplicaciones a modo de componentes.
Aplicación Web incluyendo Web Service (Básico)
Aplicación Web incluyendo Web Service en Internet
Componentes de .NET
- ASP.NET: Es un framework para aplicaciones Web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios Web dinámicos, aplicaciones Web y servicios Web XML.
- Windows Form: Es el nombre dado a la gráfica del a interfaz de programación de aplicaciones (API) incluido como parte de Microsoft de . NET Framework, que proporciona acceso a los nativos de Microsoft Windows elementos de la interfaz envolviendo el vigente API de Windows en código administrado .
- .NET Framework: El .NET Framework es el corazón de .NET, cualquier cosa que queramos hacer en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partes integrantes del .NET Framework y soporta totalmente las tecnologías existentes de Internet (HTML, XML, etc.).
- CLR: Es una serie de librerías dinámicas (DLLs), también llamadas assemblies, que hacen las veces de las DLLs del API de Windows así como las librerías runtime de Visual Basic o C++. Cualquier ejecutable depende de una forma u otra de una serie de librerías. Pues el CLR es eso, una serie de librerías usadas en tiempo de ejecución para que nuestros ejecutables o cualquiera basado en .NET puedan funcionar.
Hablemos más del CLR.
Características del CLR:
- Proporciona un desarrollo de aplicaciones más sencillo y rápido gracias a que gran parte de las funcionalidades que tradicionalmente debía de crear el programador, vienen implementadas en el entorno de ejecución.
- Administra el código en tiempo de ejecución, en todo lo referente a su carga, disposición en memoria, recuperación de memoria no utilizada a través de un recolector de memoria, etc.
- Implementa características de gestión a bajo nivel (administración de memoria, por ejemplo), que en ciertos lenguajes, eran labor del programador.
Esquema del CLR:
CTS ( Common Type System):
El CTS, permite definir o diseñar el modo cómo el código de la aplicación será ejecutado, pero no se encarga directamente de su ejecución; dicho de otro modo, el CTS le dice al CLR cómo quiere que sea ejecutado el código.
Tipo dentro de .NET FrameWork:
Un tipo se puede definir como una entidad de código ejecutada dentro del CLR; entendiendo por entidad de código aquella a partir de la cual creamos una instancia y manejamos posteriormente en el programa como un objeto. Es por eso que las implementaciones de clases, interfaces, estructuras, etc., ya sean nativas de la plataforma ò creadas por el programador, se pueden considerar tipos válidos de .NET. Entonces todos los tipos que manipulamos dentro de .NET Framework son objetos.
Ejemplo CTS:
Todos los tipos de datos están implementados como clases, cuando declaremos una variable en el código, esa variable sea además, un objeto de la clase relacionada con el tipo de dato que contiene, disponiendo de propiedades y métodos.
Aquí un ejemplo de programación en .NET, donde se nota claramente como se programaba antes en VB6.0, como se programa ahora en POO, utilizando el .FrameWork y también las clases de VB.
Metadatos:
Surge sobre la necesidad de información adicional sobre la propia aplicación. Para resolver este problema, se optó por incluir toda esta información complementaria dentro de la propia aplicación. Esta información que va incluida en la aplicación pero que no forma parte del código ejecutable se le denomina metadatos.
Los metadatos son creados por el compilador del lenguaje utilizado en cada caso y grabados dentro del fichero resultante (EXE o DLL) en formato binario, siendo el CLR el encargado de recuperarlos en el momento que los necesite.
Soporte Multi - Lenguaje
Uno de los puntos clave del CLR es que está diseñado para soportar múltiples lenguajes, permitiendo así unos elevados niveles de integración entre los mismos.
- VB.NET.
- C#.
- C++ con Extensiones Administradas.
- JScript.NET.
Intermediate Language ( IL )
Durante el proceso de compilación, el código fuente es tomado por el compilador para su escritura, y convertido, no directamente a código binario, sino a un lenguaje intermedio, que recibe el nombre de Microsoft Intermediate Languaje (MSIL o IL).
Compilación Instantanea del IL y Ejecución
Compilación bajo demanda
Para optimizar la ejecución y mejorar su velocidad, el compilador JIT se basa que, es posible que ciertas partes del código que compone la aplicación nunca sean ejecutadas. Por este motivo, no se toma el IL y se compila, sino que sólo se compila el código según se va necesitando.
El cargador de código del CLR, crea y pega una etiqueta indicativa del estado a los objetos, métodos de la aplicación.
En la primera llamada a un método, se comprueba su estado de compilación a través de la etiqueta de estado; como aún no está compilado, se pasa el control al JIT, que compila el código IL a código máquina. A continuación se modifica la etiqueta de estado, de modo que en las próximas llamadas a ese método, la etiqueta de estado informa que el método ya ha sido compilado.
Visual Basic.NET:
VB .NET es uno de los lenguajes de programación de alto nivel que pertencen al paquete .NET.
Con VB .NET se pueden escribir tanto programas convencionales como para internet.
Las aplicaciones podrán mostrar mostrar una interfaz gráfica o una interfaz de texto (Aplicaciones Consola).
El .NET cuenta con un compilador de Visual Basic, que produce un codigo en IL, común para todos los lenguajes de la plataforma.
Mejoras Fundamentales en el VB .NET:
Soporte orientado a objetos mejorado, permite utilizar herencia de clases, constructores, destructores, sobrecarga, interfaces y polimorfismo.
Gestión de excepciones estructurada, simplifica el control de excepciones y permite utilizar potentes características como las excepciones anidadas.
Nuevas opciones de manejo de hilos, permite crear aplicaciones que utilizan capacidades con múltiples hilos de ejecución.
Recolector de Basura, garantiza el no acceso a posiciones de memoria sin referencia.
Reglas y Convenciones:
A continuación se presentara una serie de reglas y convenciones estandar, recomendado su permanente aplicación:
- No utilizar espacios en blanco.
- No utilizar signos de puntuación.
- No utilizar palabras reservadas.
Gracias!.