domingo, 22 de junio de 2008

CH01-01 Arquitectura .NET y Lenguaje C#

Con esta entrada vamos a comenzar un tutorial en C# (pronunciado CSharp) y temas relacionados con el .NET Framework 2.0.

Objetivos en la creación de C# (CSharp)
Este lenguaje fue diseñado con los siguientes objetivos en mente:
- Simple: C# es un lenguaje simple con 80 palabras reservadas y nua docena de tipos
- Seguro: C# es un lenguaje type-safe (seguro en tipos) lo que significa que el compilador está preparado para asistirnos en la prevención de errores mientras desarrollamos
- Orientado a Objetos: C# fue construido sobre las lecciones aprendidas de C++ y Java en lo que se refiere a orientación a objetos. Los objetos son los elementos fundamentales de toda aplicación y representan entidades reales del dominio de la aplicación que estamos construyendo.
- Centralizado en Internet: Este objetivo está relacionado con la idea de integrar las aplicaciones de escritorio con aplicaciones de Internet aprovechando la gran propagación de entornos conectados.
- De alto rendimiento: Finalmente, C# no sacrifica las características de alto rendimiento de los lenguajes de programación de la familia de C.

El Common Language Runtime (CLR)
El CLR ofrece la plataforma orientada a objetos para el desarrollo de aplicaciones tanto Windows como Web. Es el CLR quien interpreta el código de la aplicación e interactúa con la plataforma subyacente.
El CLR además es el host para el compilador JIT (Just in Time), los tipos intrínsecos y el soporte para el manejo de excepciones.

Arquitectura .NET
El framework de .NET ha sido construido en una capa por encima del CLR, el cual a su vez reside una capa por encima de la plataforma Windows. La siguiente figura nos ayuda a entender su arquitectura.
Vamos a explicar el gráfico comenzando por la capa inferior hasta la superior.
Como ya dijimos, la plataforma Windows es la primera capa por sobre la cual se encuentra el CLR con los elementos que ya explicamos.

Por encima del CLR encontramos las clases del framework propiamente dicho. El Framework es una colección de clases que de otra forma deberíamos escribir nosotros mismos. Estas clases incluyen entre otras, clases para el manejo de hilos, streams, seguridad, trabajo con archivos, etc.

ADO.NET es la capa construida encima del .NET Framework que nos provee una abstracción de alto nivel para trabajar con tablas y sus relaciones en una base de datos. Veremos en mas detalle mas adelante.

Por encima de todas las capas anteriores, encontramos el soporte para la creación de aplicaciones Windows, Web y Web Services. Los Web Services son aplicaciones web sin interfaz de usuario y proveen funcionalidad a otras aplicaciones. Ejemplos de web services son los servicios de clima proveyendo una determinada ubicación.

MSIL
MSIL (Microsot Intermediate Language) o simplemente IL es el código que genera la compilación de nuestro código fuente (nuestros archivos .cs). Se trata de código intermedio tal como su nombre lo indica y este código intermedio es traducido por el CLR a código nativo. Este código intermedio es el que permite utilizar diferentes componentes escritos en diferentes lenguajes que soportados por .NET. Podríamos por ejemplo en una aplicación escrita en C# utilizar un componente escrito en VB.NET ya que el código IL es virtualmente idéntico.

Esto ha sido todo por hoy, en la próxima entrada vamos a comenzar con nuestro primer programa escrito en C#. Como en todo tutorial, tendremos nuestro "Hola Mundo!" y explicaremos sus partes constitutivas.

No hay comentarios.: