jueves, 17 de diciembre de 2009

abreviaturas libros de referencia

Deitel------>D

Información Adicional

* En Microsoft Windows 95/98/ME, la ventana de consola es el símbolo MS-DOS. En otras versiones de Microsoft Windows, la ventana de consola es denominada como Símbolo del sistema. (D.48)
*

jueves, 8 de octubre de 2009

Términos

CLR o Common Language Runtime, traducido: entorno de lenguaje común. Es el entorno que administra la ejecución de código y proporciona los servicios para desarrollo de las aplicaciones, así como también todos los elementos requeridos por los lenguajes, Visual Basic .NET, C# y otros de .NET.
CTS o Common Type System, traducido: sistema de tipos comunes. Son los tipos de datos son comunes a todos los lenguajes y son provistos por el (CTS o sistema de tipos comunes) del CLR.
FCL o Framework Class Library: biblioteca de clases del .NET Framework, que son los espacios de nombres predefinidos donde se encuentran clases que trae C# ya preelaboradas.(D.49)


Entorno de Ejecución, El CLR y las BCL

El CLR (Common Language Runtime)
El CLR o Common Language Runtime es el entorno que administra la ejecución de código y proporciona los servicios para desarrollo de las aplicaciones, así como también todos los elementos requeridos por los lenguajes, Visual Basic .NET, C# y otros de .NET.
Los tipos de datos son comunes a todos los lenguajes y son provistos por el Common Type System (CTS o sistema de tipos comunes) del CLR. Cada tipo de dato tiene su propia sintaxis en su lenguaje de programación correspondiente, pero, al ser tomados por el CLR, esos tipos son iguales.
Esto se debe a que uno de los principales objetivos de la plataforma .NET fue ser independiente del lenguaje de programación elegido para el desarrollo de aplicaciones. Por eso se creó la Common Language Specification (CLS o especificación de lenguaje común), que define y estandariza un conjunto de las características soportadas por el CLR que son necesarias en la mayoria de las aplicaciones. Todos los componentes desarrollados y compilados de acuerdo con esta especificación pueden interactuar entre sí, independientemente del lenguaje en el que fueron escritos.
Microsoft proporciona, junto con el .NET Framework, las implementaciones de cuatro lenguajes compatibles con CLS, y sus compiladores:
.- Microsoft Visual Basic .NET
.- Microsoft Visual C# .NET
.- Microsoft J# .NET
.- Microsoft C++ .NET

Esto significa que una aplicación escrita en Visual Basic .NET, por ejemplo, puede incorporar sin problemas nuevas partes escritas en C# o C++ .NET.
Dado que la especificación CLS es un estándar público, ha permitido que otros diseñadores de lenguajes y compiladores desarrollen más de 20 lenguajes y compliladores compatibles con ella y, por lo tanto, compatibles entre sí y con los lenguajes desarrollados por MIcrosoft. Todos los componentes y aplicaciones creados bajo estas especificaciones se dice que son código administrado, o Managed Code, debido a que muchas aplicaciones de muy bajo nivel, como drivers de dispositivos, necesitan tener acceso directo a los recursos del sistema operativo para tener un mejor rendiemiento.
Como cada lenguaje proporciona su propia sintaxis en la implementación de las directivas del CLS, es necesario que los compiladores "traduzcan" su código fuente en "algo" que sea entendible por el CLR. Ese "algo" se denomina MSIL o Microsoft Intermediate Language, que es un código intermedio en el cual se compilan todos los lenguajes de .NET. Estos componentes y aplicaciones resulatantes se conocen como assemblies o ensamblados en .NET. Pueden ser archivos ejecutables (.exe) o bibliotecas de clases y componentes (.dll). Los assemblies no son ejecutables directamente, sino que son compilados al código nativo de la CPU en la que se encuentra corriendo por el compilador Just In Time (JIT) del CLR y, luego, se ejecutan en su entorno. Para que el CLR entienda cómo debe ejecutar estas aplicaciones y componentes, los compiladores de los lenguajes .NET incluyen en la compilación la metadata, que es la información que describe los objetos que forman parte de la aplicación o componente generado.
La metadata describe:
.- Los tipos de datos y sus deendencias.
.- Los objetos y sus miembros.
.- La referencia e información (incluyendo versión) de los componentes y recursos externos que son utilizados por la apliación o componente y que son necesarios para su funcionamiento.

Esta metadata de un componente administrado es utilizada por el CLR para proporcionar, entre otras, las siguientes funcionalidades:
.- Administra la memoria.
.- Localizar y crear instancia de clases.
.- Administrar las referencias de los objetos y realizar el garbage collection.
.- Resolver las invocaciones a los métodos.
.- Generar código nativo.
.- Asegurar que la aplicación tiene recursos necesarios para funcionar.
.- Reforzar la seguridad.

//---- El CLR administra la ejecución de código y permite el desarrollo de las aplicaciones ----//

///
Namespaces

El conocimiento de los namespaces de .NET es de fundamental importancia para aprovechar toda la funcionalidad que nos proporciona y, así, no tener que escribir código con el cliente con el que ya contamos.
///

La inclusión de esta metadata en el componente compilado hace que éste se autodescriba. Esto le indica al CLR todo lo necesario para preparar y ejecutar una aplicación .NET correctamente y permitir que pueda interactuar con otros componentes.

.- Compilación Just In Time (o "justo a tiempo"): El CLR se encarga de compilar las aplicaciones .NET a código de máquina nativo para el sistema operativo y la plataforma de hardware en la que se está ejecutando. Esto lo hace cin intervención alguna del desarrollador o el usuario y cuando se necesita.

.- Gestión automática de memoria: El CLR abstrae a los desarrolladores de tener que pedir y liberar memoria explícitamente. Para lograrlo, uno de sus componentes, llamado garbage collector(recolector de basura), se encarga de liberar periódicamente la memoria que ya no está siendo usada por ninguna aplicación. Por otra parte, el CLR también abstrae a los desarrolladores del uso de punteros de acceso y del acceso a memoria de bajo nivel. Si bien estas características pueden ser consideradas poderosas, suelen hacer que el desarrollo y el mantenimiento de aplicaciones resulten más propensos a errores y menos productivos.

.- Gestión de errores consistente: Como las aplicaciones .NET no se ejecutan directamente contra el sistema operativo, cualquier error no manejado que ocurra en tiempo de ejecución será atrapado por el CLR en última instancia, sin afectar a ninguna otra aplicación que se esté ejecutando ni tener efecto alguno sobre su estabilidad.

.- Ejecución basada en componentes: Todas las aplicaciones .NET son empaquetadas en componetes reutilizables denominados, genéricamente, assemblies, que el CLR se ocupa de cargar en memoria y de ejecutar.

.- Gestión de seguridad: El CLR brinda una barrera más de contención a la hora de ejecutar aplicaciones manejadas, ya que permite establecer políticas de seguridad que deberán ser cumplidas por las aplicaciones .NET que se ejecuten en una computadora.

.- Multithreading: El CLR provee un entorno de ejecución multi-hilos por sobre las capacidades del sistema operativo, así como también, mecanismos para asegurar su sincronización y el acceso a recursos compartidos.




Biblioteca de funcionalidad
(Base Class Library)

La funcionalidad principal de la Base Class Library es proporcionar cientos de tipos básicos (clases e interfaces) orientados a objetos, extensibles mediente herencia e independientes del lenguaje de programación que se desee utilizar. Este conjunto de elementos incluye la mayoría de las funcionalidades que los programadores aplican de manera cotidiana.
Dada la cantidad de clases (unos cuantos miles), es necesario organizarlas de algún modo en que sean fáciles de encontrar y que permita diferenciarlas si poseen el mismo nombre. Para lograr esto, .NET proporciona lo que se denomina namespaces o epacios de nombres. Se trata de calificadores de clases, que hacen posible determinar, unívocamente, qué clases utilizar dentro de .NET y, así, evitar ambigüedades. En la Tabla 2 vemos una breve lista de los principales namespaces.

martes, 18 de agosto de 2009

.NET Framework

Es también llamado "marco de trabajo", que es considerado como el componente fundamental de la plataforma .NET, y es necesario tanto para desarrollar aplicaciones como para ejecutarlas luego. Tiene tres versiones, que pueden obtenerse de forma gratuita:

(*) .NET Framework Redistributable Package
Este es el componente de la plataforma .NET indispensable para ejecutar apliaciones. Este elemento se instala en los entornos de producción o estaciones de trabajo de los clientes y en las computadoras de los usuarios que vayan a utilizar aplicaciones .NET.
Tiene dos elementos:
.- El (CLR) entorno de ejecución de la plataforma .NET
.- Las (BCL) bibliotecas de funcionalidad reutilizable.

(*) .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 programadores. En general, se instala en los entornos de desarrollo de apliaciones, por lo que resulta más útil para programadores que para los usuarios. Para instalar la versión SDK (Software Development Kit) es necesario instalar previamente el Redistributable Package (mencionado antes).

(*) .NET Compact Framework
Se trata de una versión reducida del .NET Framework Redistributable, especialmente pensada para instalar en dispositivos móviles, como Pocket PCs y Smart Phones.
En este caso, cuando se trata de las aplicaciones de escritorio (WinForms o de Formularios) y las de consola (aplicaciones cuya interfaz de usuario es una consola de comandos con textos solamente), el framework debe estar instalado en la PC del cliente (usuario), y en el servidor sólo si la aplicación será distribuida y tendrá parte de su funcionalidad centralizada en una única computadora. En el caso de las apliaciones Web, el único requisito del lado del cliente o usuario es tener un navegador (browser) y una conexión de red al servidor, que debe tener instalado el .NET Framework. Por último, para las aplicaciones móviles, que se ejecutan sobre Windows Mobile en algún dispositivo tipo Pocket PC o Smart Phone, es preciso tener instalado el .NET Compact framework en el dispositivo.



///Versiones

Existen varias versiones de los frameworks mencionados:
* Versión 1.0: Liberada a principios del año 2002, utilizada en la primera versión de Visual Studio .Net, incluia soporte para los nuevos lenguajes VB.Net y C# .Net.
* Versión 1.1: Liberada en 2003, incluía el compact framework , framework 1.1 y soporte para el lenguaje J# .Net.
* Versión 2.0: Liberada a fines del año 2005, fue el gran primer cambio en la plataforma, y resultó una gran "Evolución" en lugar de una revolución. Un gran salto en lo que respecta a la productividad.
* Versión 3.0: Liberada en noviembre de 2006, combina las características de la versión 2.0 con las nuevas tecnologías como Windows Presentation Fundation, Windows Communication Fundation, Windows Workflow Fundation y Windows CardSpace.
* Versión 3.5: Liberada en noviembre de 2007, incluye nuevas caracteristicas de las versiones 2.0 y 3.0 incorporadas en forma incremental más el service pack I correspondientes a los respectivos frameworks.

///

miércoles, 12 de agosto de 2009

Introducción a .NET

Microsoft .NET es una plataforma de desarrollo y ejecución de aplicaciones; es decir, proporciona los elementos necesarios para el desarrollo de aplicaciones de software y todos los mecanismos de seguridad y eficiencia para asegurar su óptima ejecución.

Características principales de .NET:

- Completamente orientado a objetos.
- Se pueden desarrollar aplicaciones compatibles entre diferentes lenguajes pertenecientes a esta plataforma.
- Está diseñado para posibilitar el desarrollo de aplicaciones corporativas complejas, robustas y flexibles.
- Las aplicaciones .NET son ejecutadas en un entorno aislado del sistema operativo denominado "runtime", lo que lo hace "seguro", flexible y portable.
- Proporciona un modelo único de programación consistente para el desarrollo de aplicaciones (Windows, Web, de consola, móviles, etc) y para diferentes dispositivos de hardware (PC, Tablet PC y Pocket PC, entre otros).
- Puede integrarse fácilmente con aplicaciones desarrolladas en modelos anteriores como COM, tanto para utilizar elementos COM en .NET y viceversa.
- Integra aplicaciones de otras plataformas y sistemas operativos, al implementar estandares como XML, SOAP, WSDL, etc.



Principales componentes la plataforma .NET son los siguientes:



(*) .NET Framework o marco de trabajo: es el componente base, el cual contiene a su vez los elementos necesarios tanto para la creación de las aplicaciones y también su ejecución. Esta formado esencialmente por dos elementos: el entorno de ejecución de aplicaciones (CLR) y las bibliotecas base. Acerca estos elementos se tiene lo siguiente:

* El entorno de ejecución de aplicaciones o runtime es el denominado Common Language Runtime (CLR). Entre sus principales funciones se tienen:
- Administrar la memoria del equipo de manera "inteligente": esto quiere decir, que se debe liberar y controlar la memoria de manera automática sin la intervención del programador.
- Realizar el aislamiento de las aplicaciones: así si una aplicación deja de funcionar, "no debería" afectar a las demás aplicaciones y tampoco al sistema operativo.
- Brindar seguridad en la ejecución de los componentes, basando su ejecución en la información proporcionada por los mismos (en su metadata), que indica como debe ejecutarse, que versión utilizar y bajo qué contexto de seguridad, entre otras cosas.
- Generar código nativo: la ejecución de los componentes se realiza con un compilador Just In Time (JIT), que traduce los componentes al código nativo según sea el CPU en que se encuentre dicho compilador, y los ejecuta en su entorno.

/////
--Component Object Model (COM)--
Es la plataforma de desarrollo de componentes de software introducida por Microsoft antes de .NET. El término COM es usado comúnmente en el desarrollo de software como un término que abarca las tenologías OLE, OLE Automation, ActiveX, COM+ y DCOM. Podemos decir entonces que .NET es la evolución de COM y visto de otra manera, COM es el predecesor de .NET.
////

(*) Base Class Library (BCL) o biblioteca de clase base: proporciona de todos los componentes y clases necesarios para el desarrollo de apliaciones en la plataforma. Éstos incluyen la mayoría de las funcionalidades que los programadores aplican de manera cotidiana y, además, un conjunto de clases específicas de acuerdo con la tecnología que se va a utilizar en la creación de aplicaciones. Todos estos componentes están divididos en tres grupos principales:
.- Windows Forms.
.- ASP.NET y Servicios Web XML.
.- ADO.NET

(*) Lenguajes de programación y compiladores: Los lenguajes de programación permiten el desarrollo de aplicaciones sobre la plataforma .NET. Hacen uso de las especificaciones del CLR y de las BCL para el desarrollo de las aplicaciones, y siguen un estándar denominado Common Languaje Specification (CLS), lo que hace que sean completamente compatibles entre sí. Existen muchos lenguajes para programar en .NET, como Visual Basic .NET, C# (C-Sharp), NET.COBOL, y otros. Dado que el CLS es una especificación abierta, cualquier lenguaje que cumpla con ella puede ser utilizado para desarrollar en .NET.

(*) Herramientas y documentación: .NET proporciona un conjunto de utilitarios y herramientas de desarrollo que simplifican el proceso de creación de apliaciones, así como también, documentación y guías de arquitectura, que describen las mejores prácticas de diseño, prueba e instalación de aplicaciones .NET.


////
--Sistemas Operativos
El framework .Net puede instalarse en cualquier sistema operativo de la familia Windows superior a la version 98. Windows 2003 y 2008 Server, XP Service Pack 2 y Windows Vista ya lo tienen instalado.
////

https://msdn.microsoft.com/es-es/library/e80y5yhx(v=vs.110).aspx (VER ESTE LINK BASE DE INFORMACION)