VISUAL BASIC

VISUAL BASIC

jueves, 17 de marzo de 2011

VISUAL STUDIO

VISUAL STUDIO

Microsoft Visual Studio es un entorno de desarrollo integrado para sistemas operativos Windows. Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET a partir de la versión net 2002. Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. Se encuentran variedad de versiones como lo son:
 Microsoft Visual Studio 6
 Microsoft Visual Studio .NET (2002)
 Microsoft Visual Studio .NET 2003
 Microsoft Visual Studio 2005
 Microsoft Visual Studio 2008
 Microsoft Visual Studio 2010
Adicionalmente, Microsoft ha puesto gratuitamente a disposición de todo el mundo una versión reducida de MS SQL Server llamada SQL Server Express Edition cuyas principales limitaciones son que no soporta bases de datos superiores a 4 GB de tamaño, únicamente utiliza un procesador y un Gb de Ram, y no cuenta con el Agente de SQL Server.

MICROSOFT.NET

.NET es un framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado.
.NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Oracle Corporación y a los diversos framework de desarrollo web basados en PHP. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma plataforma las denomina, soluciones– permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.



COMPONENTES PRINCIPALES DE LA PLATAFORMA.NET

La plataforma .NET de Microsoft es un componente de software que puede ser añadido al sistema operativo Windows. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows.
.NET Framework se incluye en Windows Server 2008, Windows Vista y Windows 7. De igual manera, la versión actual de dicho componente puede ser instalada en Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una versión "reducida" de .NET Framework está disponible para la plataforma Windows Mobile, incluyendo teléfonos inteligentes. Los principales componentes del marco de trabajo son:
• El conjunto de lenguajes de programación
• La Biblioteca de Clases Base o BCL
• El Entorno Común de Ejecución para Lenguajes o CLR por sus siglas en inglés.
Debido a la publicación de la norma para la infraestructura común de lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existían entre lo que era posible hacer con uno u otro lenguaje.

COMPONENTE RUNTIME O MAQUINA VIRTUAL.NET

El Common Language Runtime o CLR (Lenguaje común en tiempo de ejecución) es el componente de máquina virtual de la plataforma .Net de Microsoft. Es la implementación del estándar Common Language Infrastructure (CLI) que define un ambiente de ejecución para los codigos de los programas. El CLR ejecuta una forma de código intermedio llamada Common Intermediate Language (CIL, anteriormente conocido como MSIL -- Microsoft Intermediate Language), la implementación de Microsoft del CLI.
Los desarrolladores que usan CLR escriben el código en un lenguaje como C# o VB.Net. En tiempo de compilación, un compilador.NET convierte el código a MSIL (Microsoft Intermediate Language). En tiempo de ejecución, el compilador en tiempo de ejecución (Just-in-time compiler) del CLR convierte el código MSIL en código nativo para el sistema operativo. Alternativamente, el código MSIL es compilado a código nativo en un proceso separado anterior a la ejecución. Esto acelera las posteriores ejecuciones del software debido a que la compilación de MSIL a nativo ya no es necesaria.
LENGUAJES DE ALTO NIVEL.NET

Lenguaje de programación en el que las instrucciones enviadas para que el ordenador ejecute ciertas órdenes son similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer estas órdenes, es necesario el uso de un intérprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender. En .NET y C# es muy facil desarrollar, tiene mucho soporte y son muy facilmente mantenibles, pero todas las licencias son propietarias y el soporte incurre en costos mucho mas elevados.
PLATAFORMA DE DESARROLLO

CARACTERISTICAS DE LA PLATAFORMA.NET

Existe variedad de plataformas que conforman el desarrollo de .Net como lo son:
 Net Framework
 Ventajas de .Net
 Visual Web Developer 2005 Express Edition
 Programación orientada a objetos, introducción
 Tipos de datos en .NET
 Tipos de datos por valor y por referencia
 Creación de clases en VB.Net y C#
 Aplicaciones de Consola
 Ejemplo de aplicación de consola
 Creación de una aplicación Windows
 Inserción de controles
 Uso de eventos en .Net
 Interacción entre objetos y controles.
 Configuración de una aplicación de ASP.NET
 Visual Basic 2010: Novedades del lenguaje
 Workflow Foundation 4
 Crear un Instalador en VS 2010 con InstallShield

PARADIGMA DE PROGRAMACIÒN

Está basado en el paradigma de servicios que ha ido evolucionando a medida del tiempo.


APLICACIONES.NET

 Uno o mas essemblies
 El class loader busca en el directorio local
 Actualizaciones mas simples
 Desinstalaciones más simples

OBJETIVOS.NET

 Usar un modelo de programación único para todo tipo de aplicaciones y dispositivos de hardware
 Integrar fácilmente las aplicaciones existentes en plataformas de Microsoft
 Integrar fácilmente las aplicaciones desarrolladas con otras plataformas.

.NET FRAMEWORK

Es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular, que sirve como referencia para enfrentar y resolver nuevos problemas de índole similar.
En el desarrollo de software, un framework es una estructura conceptual y tecnológica de soporte definida, normalmente con artefactos o módulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.
CARACTERISTICAS
Paquete de Software Fundamental de la plataforma .NET incluye:
Entordo de ejecución
Bibliotecas de funcionalidad
Se distribuye en forma libre y gratuita
Existen tres variantes principales:
.NET Framework redistributable package
.NET Framework SDK

VARIANTES DE.NET

El .NET framework tiene tres variantes principales, todas descargables gratuitamente desde Internet:
.NET Framework Redistributable Package: este es el mínimo componente de la plataforma .NET que se necesita para poder ejecutar aplicaciones. Normalmente ésta es la variante que se instala en los entornos productivos, una vez que el desarrollo y las pruebas de la aplicación han finalizado.
.NET Framework SDK: esta versión contiene herramientas de desarrollo de línea de comandos (compiladores, depuradores, etc.), documentación de referencia, ejemplos y manuales para desarrolladores de aplicaciones. Normalmente ésta variante se instala en los entornos de desarrollo de aplicaciones, y es más útil a los programadores que a los usuarios finales. Para poder instalar la versión SDK (Software Development Kit) es necesario instalar previamente el Redistributable Package.
.NET Compact Framework: esta es una versión reducida del .NET Framework Redistributable, especialmente pensada para ser instalada en dispositivos móviles como Pocket PC’s y SmartPhones.

.NET Framework Redistributable Package: este es el mínimo componente de la plataforma .NET que se necesita para poder ejecutar aplicaciones. Normalmente ésta es la variante que se instala en los entornos productivos, una vez que el desarrollo y las pruebas de la aplicación han finalizado.

.NET Framework SDK: esta versión contiene herramientas de desarrollo de línea de comandos (compiladores, depuradores, etc.), documentación de referencia, ejemplos y manuales para desarrolladores de aplicaciones. Normalmente ésta variante se instala en los entornos de desarrollo de aplicaciones, y es más útil a los programadores que a los usuarios finales. Para poder instalar la versión SDK (Software Development Kit) es necesario instalar previamente el Redistributable Package.

.NET Compact Framework: esta es una versión reducida del .NET Framework Redistributable, especialmente pensada para ser instalada en dispositivos móviles como Pocket PC’s y Smartphone

MINIMO COMPONENTE DE LA PLATAFORMA.NET
.NET Framework Redistributable Package: este es el mínimo componente de la plataforma .NET que se necesita para poder ejecutar aplicaciones. Normalmente ésta es la variante que se instala en los entornos productivos, una vez que el desarrollo y las pruebas de la aplicación han finalizado.

VARIANTE DE LOS IDE DE APLICACIONES

.NET Framework SDK: esta versión contiene herramientas de desarrollo de línea de comandos (compiladores, depuradores, etc.), documentación de referencia, ejemplos y manuales para desarrolladores de aplicaciones. Normalmente ésta variante se instala en los entornos de desarrollo de aplicaciones, y es más útil a los programadores que a los usuarios finales. Para poder instalar la versión SDK (Software Development Kit) es necesario instalar previamente el Redistributable Package.

VARIANTE DE LOS DISPOSITIVOS MÒVILES

.NET Compact Framework: esta es una versión reducida del .NET Framework Redistributable, especialmente pensada para ser instalada en dispositivos móviles como Pocket PC’s y Smartphone

SIGNIFICADO DE SDK

SDK o Plataforma de Desarrollo de Software es un conjunto de programas y herramientas que sirven para crear software y otros programas, de manera simple. Por último una Plataforma de Desarrollo de Software o SDK, es un conjunto de Librerías, Herramientas de desarrollo, compiladores, intérpretes que sirve para crear programas y unirlos para formar un nuevo software.
Casi todas las empresas ofrecen un SDK para desarrollar sus productos, un ejemplo es el .net de Microsoft que provee todas las herramientas para crear software con la tecnología .net de Microsoft.

EJECUCION DE APLICACIONES FRAMEWORK.NET

El Microsoft .NET Framework, es un componente de software que puede ser o es incluido en los sistemas operativos Microsoft Windows. Provee soluciones pre-codificadas para requerimientos comunes de los programas y gestiona la ejecución de programas escritos específicamente para este framework.
Microsoft desea que todas las aplicaciones creadas para la plataforma Windows, sean basadas en el .NET Framework. Su objetivo es crear un marco de desarrollo de software sencillo, reduciendo las vulnerabilidades y aumentando la seguridad de los programas desarrollados.

CONJUNTO DE BIBLIOTECAS DE FREMEWORK.NET

 Conjunto de equipos básicos clases y interfaces
 Los tipos están en jerarquías lógicas de nombres denominados namespaces.
 Los tipos son independientes del leguaje de desarrollo
 Es extensible y totalmente orientada a objetos



BCL DE FRAMEWORK.NET

La biblioteca de clases base (BCL) es un estándar de la biblioteca a disposición de todos los idiomas utilizando el. NET Framework. . NET incluye el BCL para encapsular un gran número de funciones comunes, como el archivo de la lectura y la escritura, representación gráfica, base de datos de la interacción, y en XML documento, la manipulación, lo que hace que el programador de la tarea más fácil. Es mucho más grande en el ámbito de aplicación de las bibliotecas estándar para la mayoría de otros idiomas, incluyendo C + +, y sería comparable en su alcance a las bibliotecas estándar de Java. El BCL es a veces incorrectamente denominado el Marco de biblioteca de clases (FCL), que es un súper conjunto de Microsoft incluidos.* nombres.

CLASES DE REPOSITORIOS

Un repositorio de objetos para aprendizaje es un sistema software que almacena recursos educativos y sus metadatos, y proporciona algún tipo de interfaz de búsqueda de los mismos, bien para interacción con humanos o con otros sistemas software. La funcionalidad fundamental de un repositorio es la de búsqueda de objetos de aprendizaje, y existen varias posibilidades para su implementación tales como:
*Interfaces de búsqueda interactivas, para uso de humanos
*Interfaces de consulta que puedan ser utilizadas por agentes software, por ejemplo, mediante servicios web.
Además de la funcionalidad de búsqueda, otra función importante de los repositorios es la de hacer de intermedio con otros repositorios, lo que se denomina “Federación” de repositorios, lo cual permite que con una sola búsqueda, se busque muchos repositorios distribuidos, ampliando asi las posibilidades de encontrar OA relevantes para él usuario o sistema que hace la búsqueda.
“Federación” de repositorios, lo cual permite que con una sola búsqueda, se busque en muchos repositorios distribuidos, ampliando así las posibilidades de encontrar OA
Relevantes para él usuario o sistema que hace la búsqueda.

TECNOLOGIA DE APLICACIONES CON INTERFAZ EN FORMULARIOS

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET a partir de la versión net 2002. Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. Visual Studio 2008 presenta un abanico de nuevas características orientadas a una amplia gama de soluciones de cliente. Ahora puede crear una solución Visual Studio Tools para Office VSTO que usa Windows Presentation Foundation WPF, Windows Comunicación Foundation WCF y expresiones de Lenguaje Integrated Query LINQ, que mostraré en breve.
Las nuevas tecnologías ofrecen la oportunidad de crear soluciones interesantes con
Comportamientos que antes eran difíciles o poco probables de conseguir.

TECNOLOGIA DE APLICACIONES CON INTERFAZ FRAMEWORK.NET

• La versión 1.0: fue liberada a principios del año 2002, e incluía la versión 1.0 del .NET Framework, la versión 2002 de Visual Studio y varios lenguajes de programación nuevos compatibles con la plataforma (como C#.NET y Visual Basic.NET)
• La versión 1.1: fue liberada en 2003, aproximadamente un año después que su predecesora. Esta versión introdujo el .NET Framework 1.1 junto con Visual Studio .NET 2003, la primer versión del .NET Compact Framework y un nuevo lenguaje de programación llamado J#.NET.
• La versión 2.0: fue liberada a finales del año 2005, y es la primer gran renovación que sufrió la plataforma en su tiempo de vida. Con la idea de ser una “evolución” en lugar de una “revolución”, esta versión trajo consigo las versiones 2.0 del .NET Framework y el .NET Compact Framework, asi como también una nueva versión de Visual Studio.
• La versión 3.0: Junto con Windows Vista se libera al mercado una serie de tecnologías para desarrolladores de software que cambiarán la forma de construir aplicaciones para la plataforma Windows. Esta plataforma de última generación, antes conocida como Win FX, y cuyo nombre actual es Framework 3.0, es una API (Application Programming Interface) que agrupa funcionalidades deWin32 junto con el .Net Framework. Asimismo, brinda soporte para la creación de aplicaciones Windows y aplicaciones Web

API DE PROGRAMACIÒN

Una API representa una interfaz de comunicación entre componentes software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir abstracción en la programación, generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio. Las Apis asimismo son abstractas: el software que proporciona una cierta API generalmente es llamado la implementación de esa API.

GARBAJE COLLETOR

Es un mecanismo implícito de gestión de memoria implementado en algunos lenguajes de programación de tipo interpretado o semi-interpretado. Cualquier programa informático hace uso de una cierta cantidad de memoria de trabajo puesta a su disposición por el sistema operativo. Esta memoria tiene que ser gestionada por el propio programa para:
• Reservar espacios de memoria para su uso.
• Liberar espacios de memoria previamente reservados.
• Compactar espacios de memoria libres y consecutivos entre sí.
• Llevar cuenta de qué espacios están libres y cuáles no.

ASSEMBLIES

Un ensamblado es una agrupación lógica de uno o más módulos o ficheros de recursos (ficheros .GIF, .HTML, etc.) que se engloban bajo un nombre común. Un programa puede acceder a información o código almacenados en un ensamblado sin tener que conocer cuál es el fichero en concreto donde se encuentran, por lo que los ensamblados nos permiten abstraernos de la ubicación física del código que ejecutemos o de los recursos que usemos. Por ejemplo, podemos incluir todos los tipos de una aplicación en un mismo ensamblado pero colocando los más frecuentemente usados en un cierto módulo y los menos usados en otro, de modo que sólo se descarguen de Internet los últimos si es que se van a usar.
Todo ensamblado contiene un manifiesto, que son metadatos con información sobre las características del ensamblado. Este manifiesto puede almacenarse en cualquiera de los módulos que formen el ensamblado o en uno específicamente creado para ello, siendo lo último necesario cuando sólo contiene recursos (ensamblado satélite)
Las principales tablas incluidas en los manifiestos son las siguientes:
Tabla Descripción
AssemblyDef Define las características del ensamblado. Consta de un único elemento que almacena el nombre del ensamblado sin extensión, versión, idioma, clave pública y tipo de algoritmo de dispersión usado para hallar los valores de dispersión de la tabla FileDef.
FileDef Define cuáles son los archivos que forman el ensamblado. De cada uno se da su nombre y valor de dispersión. Nótese que sólo el módulo que contiene el manifiesto sabrá qué ficheros que forman el ensamblado, pero el resto de ficheros del mismo no sabrán si pertenecen o no a un ensamblado (no contienen metadatos que les indique si pertenecen a un ensamblado)
ManifestResourceDef Define las características de los recursos incluidos en el módulo. De cada uno se indica su nombre y modificadores de acceso. Si es un recurso incrustado se indica dónde empieza dentro del PE que lo contiene, y si es un fichero independiente se indica cuál es el elemento de la tabla FileDef correspondiente a dicho fichero.
ExportedTypesDef Indica cuáles son los tipos definidos en el ensamblado y accesibles desde fuera del mismo. Para ahorrar espacio sólo recogen los que no pertenezcan al módulo donde se incluye el manifiesto, y de cada uno se indica su nombre, la posición en la tabla FileDef del fichero donde se ha implementado y la posición en la tabla TypeDef correspondiente a su definición.
AssemblyProccesorDef Indica en qué procesadores se puede ejecutar el ensamblado, lo que puede ser útil saberlo si el ensamblado contiene módulos con código nativo (podría hacerse usando C++ con extensiones gestionadas) Suele estar vacía, lo que indica que se puede ejecutar en cualquier procesador; pero si estuviese llena, cada elemento indicaría un tipo de procesador admitido según el formato de identificadores de procesador del fichero WinNT.h incluido con Visual Studio.NET (por ejemplo, 586 = Pentium, 2200 = Arquitectura IA64, etc.)
AssemblyOSDef Indica bajo qué sistemas operativos se puede ejecutar el ensamblado, lo que puede ser útil si contiene módulos con tipos o métodos disponibles sólo en ciertos sistemas. Suele estar vacía, lo que indica que se puede ejecutar en cualquier procesador; pero si estuviese llena, indicaría el identificador de cada uno de los sistemas admitidos siguiendo el formato del WinNT.h de Visual Studio.NET (por ejemplo, 0 = familia Windows 9X, 1 = familia Windows NT, etc.) y el número de la versión del mismo a partir de la que se admite.

CODIGO MSIL A CODIGO NATIVO

Para poder ejecutar el lenguaje intermedio de Microsoft (MSIL), primero debe compilarse a código nativo con Common Language Runtime para la arquitectura del equipo de destino. .NET Framework proporciona dos mecanismos para realizar esta conversión:
• Un compilador Just-In-Time (JIT) de .NET Framework.
• La herramienta Generador de imágenes nativas (Ngen.exe) de .NET Framework.

Compilación con el compilador Just-In-Time (JIT)

Dado que el compilador JIT convierte el MSIL de un ensamblado en código nativo cuando se llama a cada uno de los métodos definidos en ese ensamblado, esto tiene necesariamente un impacto sobre el rendimiento en tiempo de ejecución. En la mayoría de los casos, este impacto en el rendimiento es aceptable. Y lo que es más importante, el código generado por el compilador JIT se enlaza al proceso que activó la compilación. Este código no se puede compartir en varios procesos. Para permitir que el código generado se comparta en varias invocaciones de una aplicación o en varios procesos que compartan un conjunto de ensamblados, Common Language Runtime admite un modo de compilación anticipado. Este modo de compilación anticipado utiliza Generador de imágenes nativas (Ngen.exe) para convertir los ensamblados MSIL en código nativo de forma muy similar a como lo hace el compilador JIT. Sin embargo, la operación de Ngen.exe se diferencia de la del compilador JIT en tres aspectos:
• Realiza la conversión de MSIL a código nativo antes de ejecutar la aplicación en lugar de realizarla durante su ejecución.
• Compila a la vez un ensamblado completo, en lugar de compilar un método cada vez.
• Conserva el código generado en la memoria caché de imágenes nativas como un archivo en disco.
Comprobación del código
Como parte de la compilación MSIL en código nativo, el código de MILS debe pasar un proceso de comprobación, a menos que el administrador haya establecido una directiva de seguridad que permita al código omitir esta comprobación. En esta comprobación se examina el MSIL y los metadatos para determinar si el código garantiza la seguridad de tipos, lo que significa que el código sólo tiene acceso a aquellas ubicaciones de la memoria para las que está autorizado. La seguridad de tipos ayuda a aislar los objetos entre sí y, por tanto, ayuda a protegerlos contra daños involuntarios o maliciosos. Además, garantiza que las restricciones de seguridad sobre el código se aplican con toda certeza.
El motor en tiempo de ejecución se basa en el hecho de que se cumplan las siguientes condiciones para el código seguro comprobable:
• La referencia a un tipo es estrictamente compatible con el tipo al que hace referencia.
• En un objeto sólo se invocan las operaciones definidas adecuadamente.
• Una identidad es precisamente lo que dice ser.
Durante el proceso de comprobación, se examina el código MSIL para intentar confirmar que el código tiene acceso a las ubicaciones de memoria y puede llamar a los métodos sólo a través de los tipos definidos correctamente. Por ejemplo, un código no permite el acceso a los campos de un objeto si esta acción sobrecarga las ubicaciones de memoria. Además, el proceso de comprobación examina el código para determinar si el MSIL se ha generado correctamente, ya que un MSIL incorrecto puede llevar a la infracción de las reglas en materia de seguridad de tipos. El proceso de comprobación pasa un conjunto de código seguro bien definido, y pasa exclusivamente código seguro. No obstante, algunos códigos con seguridad de tipos no pasan la comprobación debido a algunas limitaciones de este proceso, y algunos lenguajes no producen código seguro comprobable debido a su diseño. Si la directiva de seguridad requiere código seguro de tipos y el código no pasa la comprobación, se produce una excepción al ejecutar el código.

LENGUAJE CLR


ASSEMBLY Y SUS COMPONENTES

Un assembly es la unidad minima de ejecucion, distribucion, instalacion y versionando aplicaciones .NET.
APLICACIONES:
 Uno o mas assemblies
 El class loader busca en el director local
 Global essembly cache (gac)
 Diferentes aplicaciones pueden usar diferentes versiones
 Actualizaciones mas simple
 Desinstalacion mas simple


COMPONENTES DEL FRAMEWORK.NET


NAMESPACE

Un espacio de nombres es un esquema lógico de nombres para tipos en el que un nombre de tipo simple, como MiTipo, aparece precedido por un nombre jerárquico separado por puntos. [...]“
Así es como lo definen en el eBook de .NET Framework de Microsoft. Pero mas claro… un Namespace es una forma de agrupar clases, funciones, tipos de datos, etc. que están relacionadas entre sí. Por ejemplo, entre los Namespaces que podemos encontrar en el .NET Framework encontramos uno con funciones relacionadas con Visual Basic: Microsoft.VisualBasic. Si te fijas, Microsoft y VisualBasic están separados por un punto, esto significa que Microsoft a su vez es un Namespace que contiene otros “espacios de nombres”, tales como el mencionado VisualBasic, CSharp y Win32 con el cual podemos acceder a eventos o manipular el registro del sistema…
Para saber que es lo que contiene un Namespace, simplemente escribe el nombre con un punto y te mostrará una lista desplegable con los miembros que pertenecen a dicho espacio de nombres. Haz la prueba y en el código escribe la palabra “Microsoft.” (Con el punto al final), verás que se despliega los posibles Namespaces disponibles y si seguimos y escribimos, o seleccionamos VisualBasic con un punto al final, veremos otra vez los Namespaces de esta otra clase llamada VisualBasic.

PRINCIPALES NAMESPACE DE LA BIBLIOTECA DE CLASES.NET

La figura se aprecian los principales namespaces de la biblioteca de clases .NET son:
• System: raíz de todos los otros namespaces, y dentro del cual podemos encontrar la mayoria de los namespaces correspondientes a la Base Class Library
• System.Data y System.Xml: en conjunto, estos dos namespaces constituyen la tecnología conocida como ADO.NET
• System.Web: dentro de este namespace se encuentran todos los tipos necesarios para programar aplicaciones y servicios web ASP.NET
• System.Windows.Forms: dentro de este namespace se encuentran todos los tipos necesarios para programar aplicaciones de escritorio basadas en formularios y ventanas Windows.


LEGUAJE CLS

 Especificación que estandariza una serie de características soportadas por el CLR
 Contrato entre diseñadores de lenguajes de programación y autores de bibliotecas
 Permite la interoperabilidad entre lenguajes

 Microsoft provee implementaciones de 4 lenguajes, todos compatibles con CLS
 Microsoft Visual Basic .NET
 Microsoft Visual C# .NET
 Microsoft Visual J#.NET
 Microsoft Visual C++.NET
Uno de los objetivos de diseño de la plataforma .NET fue el ser independiente del lenguaje de programación elegido para el desarrollo de aplicaciones. Para lograr esto es que se creó la Especificación de Lenguaje Común (o CLS, por sus siglas en inglés), que define y estandariza un subconjunto de todas las características soportadas por el CLR y que son necesarias en la mayoría de las aplicaciones. Todos los componentes desarrollados y compilados de acuerdo con la especificación CLS pueden interactuar entre sí, independientemente del lenguaje de programación de alto nivel en el que fueron escritos.
Junto con el .NET Framework, Microsoft provee implementaciones de 4 lenguajes compatibles con CLS, junto con sus compiladores:
 Microsoft Visual Basic .NET
 Microsoft Visual C# .NET
 Microsoft Visual J#.NET
 Microsoft Visual C++.NET
Esto quiere decir que una aplicación escrita, por ejemplo, en Visual Basic.NET, puede incorporar sin problemas nuevas partes escritas en C# o C++ .NET.
El resto de la industria y el sector académico han desarrollado más de 20 lenguajes compatibles con la especificación CLS.

QUE ES CLI

Entorno de ejecución de aplicaciones
Conjunto de librerías básicas (BCL)
Tipos de datos comunes (CTS)
El .NET framework y el .NET


CLR

CTS

 Define un conjunto común de tipos de datos orientados a objetos
 Todo lenguaje de programación .NET debe implementar los tipos definidos por el CTS
 Todo tipo hereda directa o indirectamente del tipo system.object
 Define tipos de valor

LINEAS DE TIEMPO