Вы находитесь на странице: 1из 50

EL NET FRAMEWORK

Marzo 2013



Agradecemos a nuestras familias el
apoyo incondicional que nos brindan
para alcanzar nuestros objetivos.

INDICE

RESUMEN .................................................................................................................................................6
INTRODUCCION ........................................................................................................................................8
ANTECEDENTES ........................................................................................................................................9
EVOLUCIN DE NET FRAMEWORK .......................................................................................................9
.NET Framework 1.0: ....................................................................................................................9
.NET Framework 1.1 .....................................................................................................................9
.NET Framework 2.0 .....................................................................................................................9
.NET Framework 3.0 .................................................................................................................. 10
.NET Framework 3.5 .................................................................................................................. 10
Service Pack 1: ........................................................................................................................... 11
.NET Framework 3.5 SP1 Client Profile .................................................................................. 11
.NET Framework 4 ..................................................................................................................... 12
.NET FRAMEWORK 4.5 .......................................................................................................................... 13
CORE FRAMEWORK ........................................................................................................................... 13
Asynchronous/Waits .................................................................................................................. 13
Identity .......................................................................................................................................... 13
Libreras Portables de Clases .................................................................................................. 13
Otras cosas ................................................................................................................................. 14
Cosas web ................................................................................................................................... 14
HTTP Client ................................................................................................................................. 14
Web Sockets ............................................................................................................................... 15
Soporte en IIS 8, ASP.NET 4.5, WinRT, WCF 4.5 sobre Windows 8 y Windows
Server 2012. ............................................................................................................................... 15
ASP.NET Web Forms ................................................................................................................ 15
MVC .............................................................................................................................................. 15
WCF .............................................................................................................................................. 16
WPF .............................................................................................................................................. 16
WF................................................................................................................................................. 16
MEF 2.0 ........................................................................................................................................ 17
El TPL (Task Parallel Library) ................................................................................................... 17
TPL Data Flow ............................................................................................................................ 17
NET FRAMEWORK ........................................................................................................................... 18
DEFINICION .................................................................................................................................... 18
QUE ES NET FRAMEWORK? .................................................................................................. 18
CLASES BSICAS ....................................................................................................................... 19
System.Object ........................................................................................................................... 19
System.Convert ........................................................................................................................ 20
int i = Convert.ToInt32(d); ............................................................................................................. 20
System.Math .............................................................................................................................. 20
System.Random........................................................................................................................ 21
System.String ............................................................................................................................ 22
System.DateTime...................................................................................................................... 22
System.Array ............................................................................................................................. 23
System.Environment ............................................................................................................... 23
COLECCIONES DE DATOS ................................................................................................................... 24
Entrada/Salida ........................................................................................................................... 25
ARQUITECTURA BASICA DE .NET .............................................................................................. 27
ARQUITECTURA ........................................................................................................................... 27
Common Language Runtime (CLR) .................................................................................................... 27
Biblioteca de clases de .Net .............................................................................................................. 28
ENSAMBLADOS ........................................................................................................................... 29
MSIL Y LENGUAJES DE PROGRAMACIN .......................................................................................... 30
NAMESPACES. ................................................................................................................................... 30
DISTRIBUCIN ................................................................................................................................... 31
VENTAJAS PRINCIPALES DEL NET FRAMEWORK ................................................................................. 32
.NET Framework para usuarios ......................................................................................................... 35
.NET Framework Silverlight para desarrolladores ............................................................................. 35
DESARROLLOS MVILES CON .NET ......................................................................................... 37
Dispositivos mviles ................................................................................................................... 37
Soluciones mviles de Microsoft. ................................................................................................ 37
FRAMEWORK VS. COMPACT FRAMEWORK ....................................................................... 37
.NET Framework ....................................................................................................................... 38
NET Compact Framework .............................................................................................................. 38
DIFERENCIAS FRAMEWORK Y COMPACT FRAMEWORK ................................................... 39
Referencias bibliogrficas ................................................................................................................. 41
Referencias electrnicas ................................................................................................................... 41
ANEXOS ................................................................................................................................................. 42
ANEXO N 1. NET FRAMEWORK EN CONTEXTO ............................................................................... 42
ANEXO N 2. VERSIONES DE .NET FRAMEWORK .............................................................................. 43
ANEXO N 3. Arquitectura de .NET Framework. ............................................................................... 44
ANEXO N 4. Biblioteca de clases ...................................................................................................... 45
ANEXO N 5. Arquitectura del Compact Net Framework ................................................................. 46
ANEXO N 7. .NET FRAMEWORK 4.0 ................................................................................................. 48
ANEXO N 8. TRABAJANDO CON LA NUBE Y LA WEB ....................................................................... 49
ANEXO N 9. .NET FRAMEWORK 4.5 ................................................................................................. 50




6
RESUMEN

El .NET Framework es el componente principal de Microsoft .NET. Constituye la
plataforma de desarrollo de las aplicaciones .NET e incluye las herramientas y
componentes necesarios para desarrollar diferentes tipos de aplicaciones (Windows,
web, para dispositivos mviles, etc.). El resto de herramientas y tecnologas .NET se
basan en dicha plataforma.
Adems la plataforma .NET es un conjunto de tecnologas diseadas para crear
aplicaciones Windows, web, mviles diseada por Microsoft.
.NET Framework o marco de trabajo constituye la base de la plataforma .net , es
una infraestructura sobre la que se rene conjunto de lenguajes y servicio que
simplifican el desarrollo de aplicaciones, lo que ofrece es el entorno de ejecucin
altamente distribuido .El funcionamiento del Framework consiste en organizar las
funcionalidades del S.O en espacios de nombre y as a la hora de programar sea
sencillo encontrar lo que necesita. Sus principales componentes son:
Lenguajes de compilacin
Biblioteca de clases de .net
CLR(Common Language Runtime)
.Net soporta ya ms 20 de Lenguajes de programacin y es posible desarrollar
cualquiera de los tipos de aplicaciones soportadas en la plataforma, todos con la
misma efectividad y rapidez.
La biblioteca de clases de .NET define el conjunto funcional mnimo que debe
implementarse para que el marco de trabajo sea soportado por un Sistema
Operativo, permitiendo que las aplicaciones corran sobre la plataforma
independientemente del sistema operativo. As tenemos por ejemplo el proyecto
MONO que pretende realizar la implementacin de aplicaciones para varios sistemas
Operativos por ejemplo LINUX. La biblioteca de clases de .NET FRAMEWORK
incluye, entre otros, tres componentes claves:
1. Windows Forms para desarrollar interface de usuario
2. ADO.NET para conectar las aplicaciones a base de datos
3. ASP.NET para construir aplicaciones y servicios web.
La forma de organizar la biblioteca de clases de .Net dentro del cdigo es a travs
de los namespaces.



7
SUMMARY

The.NET Framework is the main component of Microsoft.NET. It constitutes the
platform of development of the applications.NET and it includes the tools and
necessary components to develop different types of applications (Windows, web, for
mobile devices, etc.). The rest of tools and technologies.NET is based on this
platform.
Also the platform.NET is a group of technologies designed to create applications
Windows, web, motives designed by Microsoft.
.NET Framework or work mark constitutes the base of the platform.net, is an
infrastructure on which meets group of languages and service that simplify the
development of applications, what offers it is the highly distributed execution
environment.The operation of Framework consists on organizing the functionalities of
S.O in name spaces and this way when programming it is simple to find what needs.
Their main components are:
Compilation languages
Library of classes of.net
CLR (Common Language Runtime)
.Net already supports more 20 of Programming languages and it is possible to
develop anyone of the types of applications supported in the platform, all with the
same effectiveness and speed.
The library of classes of.NET defines the group functional minimum that should be
implemented so that the work mark is supported by an Operating system, allowing
that the applications run independently on the platform of the operating system. We
have this way for example the CUTE project that seeks to carry out the
implementation of applications for example for several operating systems LINUX. The
library of classes of.NET FRAMEWORK includes, among other, three key
components:
1. Windows Forms to develop user's interface
2. ADO.NET to connect the applications with the help of data
3. ASP.NET to build applications and services web.
The form of organizing the library of classes of.Net inside the code is through the
"namespaces."



8
INTRODUCCION


La presente monografa tiene como finalidad conocer las caractersticas, ventajas y
componentes principales del .NET Framework, adems de conocer el proceso de
compilacin y ejecucin de aplicaciones .NET.
En la actualidad convivimos con la tecnologas relacionas a .NET tanto por el
sistema operativo que utilizamos, los programas que empleamos, como por los
lenguajes de programacin que utilizamos y el conocimiento profundo de cmo
funciona esta tecnologa es imprescindible para poder aprovecharlo en su totalidad.
Las continuas revisiones de las libreras .NET de alguna manera limitan el
conocimiento detallado de las libreras, las que solo vemos reflejadas cuando
tenemos problemas para la instalacin de alguna aplicacin y tenemos como
respuesta que falta instalar las libreras .NET o necesitamos actualizar la versin
instalada en una PC.
Por estas razones hemos procedido a recopilar la informacin existente de las
libreras, sus versiones en el tiempo y las caractersticas que presentan, si bien es
informacin sumamente tcnica esperamos sea de utilidad para aquellos
programadores o informticos interesados en sistemas operativos para poder
explotar el framework que ya ha proporcionado interesantes aplicaciones.
Esperamos que esta monografa sea de utilidad para sus lectores y podamos
obtener una base de referencia para los temas referentes a Framework .Net y sus
futuras versiones que seguramente seguirn marcando una de las fuertes
tendencias en tecnologas de programacin.




9
ANTECEDENTES

EVOLUCIN DE NET FRAMEWORK
El desarrollo del NET Framework se puede revisar a partir de las caractersticas
generales que presenta cada una de sus versiones hasta la actualidad:

.NET Framework 1.0:
Liberado el 13 de Febrero de 2002 para Win98, Me, NT 4.0, 2000 y XP. Su soporte
termin en Julio de 2007 y el soporte extendido en 2009.

.NET Framework 1.1
Publicada en Abril de 2003 junto con el segundo relase de Visual Studio .NET
(2003). Fue la primera versin incluida como parte de un sistema operativo
(Windows Server 2003). Su soporte termin en octubre de 2008 y el extendido
termina en octubre de 2013 (as que mejor vayan pensando en migrarse).
Las mejoras que presentaba son las siguientes:
Los controles ASP.NET que en el 1.0 eran un Addon ahora vienen nativos.
Seguridad mejorada con Code Access Security para ASP.NET
Soporte nativo para ODBC y Oracle
Nacimiento del .NET Compact Framework
Soporte a IPV6
Cambios numerosos en las APIs.

.NET Framework 2.0
Liberado con Visual Studio 2005, SQL Server 2006 y BizTalk 2006. El primero en
incluirse automticamente en las instalaciones de SQL Server. Sin ningn Service
Pack, fue la ltima versin en soportar Win98 y Me. Luego vino el SP 2 y con ste,
fue la ltima versin en soportar Windows 2000.
Las mejoras que incluida esta versin son:
Los fabulosos Generics



10
Soporte para compilaciones de 64 bits
Numerosos cambios en las APIs
Integracin con SQL Server: CLR Integration
Inclusin del Runtime de .NET en aplicaciones nativas.
Nuevos y mejorados controles de ASP.NET
Controles de Datos con Data Binding automtico.
Soporte para Temas, Skins y Webparts.
Nacimiento del .NET Micro Framework.
Clases Parciales!
Tipos Nullable (por ejemplo enteros a los que se les puede dar el valor de nulo)
Mtodos Annimos!
Iteradores
Tablas de Datos

.NET Framework 3.0
Conocido en sus comienzos como WinFX fue liberado en noviembre de 2006 e
incluy un nuevo conjunto de APIs hechas en cdigo administrado que son parte
integral de Windows Vista y Windows Server 2008. Tambin est disponible para
Windows XP SP2 y Windows Server 2003. No hubo mayores cambios
arquitectnicos. De hecho, se usa el runtime del Framework 2.0. Aqu tampoco hubo
liberacin de Compact Framework.
Las mejoras que incluye son:
Windows Presentation Foundation (conocido antes como Avalon)
Windows Communication Foundation (conocido como Indigo)
Windows Workflow Foundation
Windows CardSpace (Conocido antes como InfoCard).

.NET Framework 3.5
Vio la luz en noviembre de 2007 pero no es incluida en Windows Server 2008.
Modifica el CLR fundamental sobre el que se vena trabajando (2.0) para agregarle
los mtodos y propiedades requeridas sobre todo para LINQ. Aqu s se liber el



11
Compact Framework 3.5. El cdigo fuente de esta versin fue parcialmente liberado
para conocimiento pblico con fines de depuracin.
Incluye las siguientes mejoras:
Nuevas caractersticas de lenguaje en C#3.0 y VB.NET 9.0
Soporte para rboles de expresiones y expresiones y mtodos lambda
Extension Methods!
Tipos Annimos con inferencia esttica de tipo
LINQ!
Soporte a paginacin en ADO.NET
API de sincronizacin de ADO.NET
API de I/O asincrnico
PNRP Resolver (Peer-To-Peer)
Wrappers Administrados para instrumentacin y Active Directory
Motores de WCF y WF mejorados que permiten el manejo de POX y JSON en
WCF y tambin exponer WF como servicio. De esta manera, los servicios WCF
se pueden mejorar con persistencia nativa de WF!
Soporte para pipeline de HTTP y sindicacin de feeds.
ASP.NET Ajax ya no viene como un addon sino nativo.

Service Pack 1:
Liberado en agosto de 2008 como mejora a la versin 3.5. Presenta las siguientes
caractersticas:
Performance mejorado para WPF en un 20-45%
Agregado el Entity Framework y los ADO.NET Data Services.
Agregados dos nuevos assemblies: System.Web.Abstraction y
System.Web.Routing: Esenciales para el funcionamiento del MVC Framework.
Incluy un conjunto de controles de VisualBasic que se haban descontinuado
como el Line y el Shape, en un conjunto llamado Visual Basic Power Pack.
Viene con Windows 7 y Windows Server 2008 R2.

.NET Framework 3.5 SP1 Client Profile



12
Nace como una versin reducida del Framework con solo 28MB de tamao, ideal
para clientes inteligentes que no requieren todos los 250 MB del Framework
completo.

.NET Framework 4
Anunciado en Septiembre de 2008, con beta liberada el 20 de mayo de 2009 y
finalmente en produccin el 12 de Abril de 2010 es la versin actual del Framework y
entre otras mejores incluye:
Extensiones de Paralelismo: Mejoran la computacin paralela orientada a
procesadores Multi-Core o sistemas distribuidos.
Parallel LINQ (PLINQ)
Task Parallel Library
Implicit Line Continuations para Visual Basic
Despacho dinmico: Asignacin dinmica de mtodos (tipo JavaScript)
Parmetros nombrados
Parmetros opcionales
Soporte completo a IronPyton, IronRuby y F#.
Contratos de Cdigo
Aritmtica de precisin Arbitraria y Complejos gracias a
System.Numerics.BigInteger y System.Numerics.Complex.

En la mayora de casos (Excepto cuando se trata de pasar del 1.0 0 del 1.1 a
cualquier otra versin del Framework) El paso es transparente y la migracin no es
muy compleja. Sin embargo es claro que siempre hay temores en las migraciones y
puede hacerse complicado comenzar a disfrutar de las caractersticas de la ltima
versin. Sin embargo, nada como estar trabajando con ella, de manera que ya
vamos a tener disponibles todas las ltimas caractersticas y sobretodo disfrutar de
todas las nuevas tecnologas que siempre se enfocan a la ltima versin.





13
.NET FRAMEWORK 4.5

CORE FRAMEWORK
Asynchronous/Waits
Mostrando el uso de async/await dentro del contexto de una interface WPF. Se
requiere mucho menos cdigo que lo que tradicionalmente se requera, en especial
con relacin al UI Thread Marshalling.
Estamos revisando el ensamblado, naturalmente usando .NET Reflector. Cuando
utilizamos async/await el compilador genera una gran cantidad de cdigo por debajo.
Tenga esto en mente cuando piense usar async/await. No es ideal para pequeas
aplicaciones.
Las clases base del namespace IO ahora son compatibles con async.
Stream/TextReader/Writer/etc.
Identity
Revisin de los usos histricos de Iidentity, Iprincipal, etc. Capacidades bsicas en
membership y roles, ausencia de acceso a mas informacin (por ejemplo el email)
El framework 4.5 se convierte en ms claim-aware. Nueva clase ClaimsIdentity (la
cual implementa IIdentity), la cual permitir el uso de claim-tokens en las
aplicaciones. Hay varios mtodos helpers que ayudan en la navegabilidad. Otras
clases Principals heredan de esta clase. Compatibilidad hacia atrs para
aplicaciones antiguas.
Active Directory en el Server 2012 ahora puede exportar claims-tokens. Windows
Identity Foundation ahora est integrado en el. Framework 4.5 (no ms instaladores
separados).
Libreras Portables de Clases
Aunque estoy bastante seguro de que esta caracterstica fue introducida en el Fx
.NET 4.0?. Este fue separado del framework base en su versin 4.0
El soporte est incluido en los proyectos de Visual Studio. Evita la necesidad de
definiciones de pre-compilador.



14

Otras cosas
Optimizaciones del Profile y Multicore JIT
Timeout para expresiones regulares (regex) (probablemente no es una mala
idea)
Nuevo namespace para el nuevo soporte de compresin zip.
Referencias dbiles - cambios de tipo en caso de que un objeto sea destruido
(disposed)
Internacionalizacin (cultura) dentro de un app-domain (bueno por unas pocas
razones)
Cosas web
Modelo de programacin HTTP
Soporte completo para enrutamiento (MVC?)
Negotiation del contenido
Composition de consultas (Query String)
Aplicaciones auto-hospedadas (self hosted)
Las operaciones CRUD pueden ser mapeadas a verbos HTTP (GET/POST/ etc.).
Soporte de programacin HTTP mejorado en el Fx .NET 4.5. Se incluye negociacin
de contenido, de manera nativa. Filtrado de contenido al vuelo usando Web API .
Mehesh est mostrando las peticiones/respuestas HTTP en tiempo real. Estamos
viendo el flujo de datos JSON en la respuesta. Ahora est mostrando como la
respuesta puede ser cambiada para retornar un XML bsico. Funcionalidad
incorporada. Referencia al Sr. Philip Beadle (famoso por DotNet-Nuke)
Agregando un controlador, agrega el cdigo de manejo apropiado. Se necesita tener
un manejador de excepciones, por lo dems todo est en su lugar.
HTTP Client
La clase HttpClient puede ser usada para instanciar programticamente un objeto
cliente Http, bastante til para ejecutar peticiones get y evaluar respuestas, etc.



15
Web Sockets
La tcnica de Polling ha sido usada durante mucho tiempo como una aproximacin
de bsquedas. Se puede mejorar? Establecer una conexin con una llamada
normal. Comunicacin bi-direccional Full-duplex, Soporte para proxies integrado,
Soporte binario, UTF-8.

Soporte en IIS 8, ASP.NET 4.5, WinRT, WCF 4.5 sobre Windows 8 y Windows
Server 2012.
El mensaje es enviado al servidor, el servidor hace un broadcast a los usuarios.
Un poco decepcionante verlo ejecutndose en una sola computadora y con solo dos
usuarios. Momento de ver cdigo.
El HttpHandler verifica la peticin, se enruta al handler si la peticin es una peticin
web-socket.
ASP.NET Web Forms
Controles de datos fuertemente tipados (finalmente!)
Soporte mejorado para async
Minificacion integrada de js/css
Controles de servidor actualizados para generar HTML5
MVC
Mejoras en Razor
Cambios al template por defecto
Async, async!
Soporte para dispositivos mviles mejorado.
Enlace de datos (Data-bindig) con controles fuertemente tipeados. La demostracin
muestra validacin, enrutamiento (ya no se observa la extensin .aspx en el URL) e
interpretacin mejorada del query string. Aun se registran rutas en una forma que no
es novedosa para los programadores MVC.



16
WCF
Simple de configurar (finalmente!) Los valores por defecto ahora son ms
sensibles
Los proxies que se generan, ahora definen mtodos async por defecto!
Se pueden crear tareas (tasks) basadas en operaciones asncronas.
Web-Sockets), se requiere un paquete Nuget.
Soporte para el protocolo UDP (datagramas!)
Un API de control mejor expuesto a travs de cdigo.
El uso de la operacin "Configure" para recuperar en tiempo de ejecucin la
configuracin definida. (N.T. genial!)
Soporte WCF para aplicaciones Windows 8.
Observar que los mtodos sync y async son generados en los proxy cliente. Los
mtodos async no estaban habilitados por defecto en el pasado. Los clientes
Windows 8, no soportan operaciones sync - solamente operaciones async. No se
ven archivos de configuracin para las aplicaciones Windows 8.
WPF
Los controles Ribbon ahora estn integrados
Validacin asincrona
El enlace de datos (data-binding) ha cambiado
Enlace retrasado - delay binding (tal vez por async)
Enlace a propiedades estticas
Extensiones de marcado (XAML) para eventos

WF
Expresiones C# soportadas
Servicios Workflow con el modelo Contract-First
Versionamiento de Workflow (finalmente integrado). Se carga correctamente
el workflow con la actividad.
Mejoras en los diseadores.
Soporte de comentarios y navegacin mejorada.



17

MEF 2.0
Esto se acerca a un framework IoC para mocking e inyeccin de dependencia.
Soporte para abrir partes genricas
Registro basado en reglas y convenciones
Construccin de reglas para importar/exportar sin declaraciones/atributos.
Mejoras de mbito
Mejoras en el diagnstico.
Pensadas para aplicaciones Web y Metro

El TPL (Task Parallel Library)
El Task Parallel Library se ve bastante bien:
Mejoras en el rendimiento
Nuevos mtodos:
o Run
o Delay
o WhenAny
o WhenAll
o FromResult
La clase Progess<T>

TPL Data Flow
Mirando a los sistemas reactivos - flujos de datos en memoria, controles basados en
agentes. Nueva librera .Net.
Esto es algo en lo que voy a estar bastante interesado en probar. Para tener ms
informacin acerca de TPL data Flow, mantngase atento a la Tecnologa Sanders
Conjunto de bloques (primitivas)
Queue/buffer/Task
EG ActionBlock/TransformBlock/BufferBlock



18
NET FRAMEWORK

DEFINICION
.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 rpido
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 podra considerarse una respuesta de Microsoft al creciente mercado de los
negocios en entornos Web, como competencia a la plataforma Java de Oracle
Corporation y a los diversos framework de desarrollo web basados en PHP. Su
propuesta es ofrecer una manera rpida y econmica, a la vez que segura y robusta,
de desarrollar aplicaciones permitiendo una integracin ms rpida y gil entre
empresas y un acceso ms simple y universal a todo tipo de informacin desde
cualquier tipo de dispositivo.


QUE ES NET FRAMEWORK?
NET Framework es un entorno de ejecucin administrado que proporciona diversos
servicios a las aplicaciones en ejecucin. Consta de dos componentes principales:
Common Language Runtime (CLR), que es el motor de ejecucin que controla las
aplicaciones en ejecucin; y la biblioteca de clases de .NET Framework, que
proporciona una biblioteca de cdigo probado y reutilizable al que pueden llamar los
desarrolladores desde sus propias aplicaciones. Los servicios que ofrece .NET
Framework a las aplicaciones en ejecucin son los siguientes:
Administracin de la memoria. En muchos lenguajes de programacin, 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 aplicacin.
Sistema de tipos comunes. En los lenguajes de programacin tradicionales, el
compilador definen los tipos bsicos, que complica la interoperabilidad entre
lenguajes. En .NET Framework, los tipos bsicos se definen segn el sistema de
tipos de .NET Framework y son comunes para todos los lenguajes cuyo destino
es .NET Framework.



19
Biblioteca de clases extensa. En lugar de tener que escribir cantidades extensas
de cdigo para controlar operaciones comunes de programacin 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 tecnologas 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 cdigo intermedio denominado Lenguaje intermedio comn
(CIL), que, a su vez, se compila en tiempo de ejecucin por Common Language
Runtime. Con esta caracterstica, unos lenguajes pueden acceder a las rutinas
escritas en otros, y los programadores pueden concentrarse en crear
aplicaciones en su lenguaje o lenguajes preferidos.
Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se
desarrollan con una versin determinada de .NET Framework se pueden ejecutar
sin modificaciones en una versin posterior.
Ejecucin 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 tambin pueden coexistir varias
versiones de las aplicaciones, y que una aplicacin se puede ejecutar en la
versin de .NET Framework con la que se compil.
Compatibilidad con mltiples 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
.NET Framework, Silverlight, Windows phone 7 o Xbox 360.

CLASES BSICAS
Las clases del namespace System ofrecen funcionalidades bsicas. En este
subapartado veremos algunas de las ms importantes.

System.Object
La jerarqua de clases de .NET comienza en la clase Object, es decir, todas las
clases y dems elementos (interfaces, enumeraciones, estructuras, etc.) son, por



20
herencia directa o indirecta, subclases de Object. Por lo tanto, todas las clases o
elementos heredan y pueden sobrescribir los mtodos de la clase Object para
adecuarlos a sus necesidades.
Algunos de sus mtodos son:
Equals: compara dos objetos y devuelve un booleano que indica si son iguales, o
no.
GetHashCode: devuelve un nmero de hash que se utiliza para almacenar el
objeto en tablas de hash (por ejemplo, la coleccin Hashtable). Idealmente, el
nmero debe ser diferente para instancias que representan objetos diferentes.
GetType: devuelve el tipo de dato de la instancia actual.
ToString: devuelve una representacin textual de la instancia actual.

System.Convert
La clase Convert contiene una serie de mtodos estticos muy tiles que permiten
convertir entre diferentes tipos de datos. Existe un mtodo de conversin para cada
tipo de dato bsico: ToInt32, ToDouble, ToChar, ToString, etc. Por ejemplo,
podemos convertir un double a Int32 as:

double d = 4.7;
int i = Convert.ToInt32(d);

System.Math
Contiene mtodos estticos para realizar operaciones matemticas como:




21



System.Random
La clase Random permite generar nmeros aleatorios. En realidad, los nmeros
generados simulan aleatoriedad a partir de un nmero inicial llamado semilla7. El
constructor de la clase permite especificar un seed concreto:

Random r = new Random(45);

Si siempre escogemos el mismo seed, obtendremos la misma secuencia de
nmeros aleatorios. Para aumentar la aleatoriedad, el constructor por defecto de la
clase escoge un seed relacionado con la hora del procesador. Una vez creada una
instancia de la clase Random, podemos obtener nmeros aleatorios utilizando el
mtodo Next. Por ejemplo, la siguiente instruccin devuelve un entero entre el 0 y el
10:




22
int i = r.Next(0, 10);

System.String
String es una clase que nos permite trabajar con cadenas de caracteres. String es un
tipo especial, ya que se comporta como un tipo valor (no es necesario utilizar la
palabra clave new para definir una variable de tipo cadena), aunque en realidad es
un tipo referencia. Este tipo lo podemos escribir indistintamente como string o String.
Si delante de la cadena de caracteres ponemos el carcter @, podemos evitar los
caracteres de escape y escribir caracteres como \ o salto de lnea. Resulta muy til
para escribir rutas de directorios:

string s1 = "Hola esto es un string"
string s2 = @"c:\test\prueba.cs"

La clase String tiene multitud de mtodos tiles:



System.DateTime
DateTime permite almacenar una fecha y hora. Podemos acceder a estos datos
mediante propiedades como Year, Month, Day, Hour, Minute, Second, y podemos
obtener la fecha/hora actual mediante la propiedad Now.



23
Por otro lado, contiene mtodos para aadir unidades de tiempo al valor actual
(AddDays, AddMoths, etc.), as como diversos mtodos que permiten convertir un
DateTime en otros tipos y viceversa. Por ejemplo, el mtodo Parse permite convertir
un string con una fecha, a un tipo DateTime.
El siguiente ejemplo nos indica si el ao actual es bisiesto o no:

DateTime now = DateTime.Now;
int year = now.Year;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
Console.WriteLine("El ao actual es bisiesto");

System.Array
La clase Array contiene una serie de propiedades que heredan todos los arrays,
entre ellas:
Length: devuelve el nmero total de posiciones del array. CC-BY PID_00145172
36 Introduccin a .NET
Rank: devuelve el nmero de dimensiones del array.
Clear: inicializa las posiciones indicadas del array.
Copy: permite copiar partes de un array a otro.
IndexOf: busca un elemento en el array, y devuelve su posicin.
Sort: ordena los elementos de un array unidimensional. Para poder realizar la
ordenacin, es necesario que los elementos del array implementen la interfaz
IComparable, o proporcionar una instancia de una clase que implemente la interfaz
IComparer, que permita comparar dos elementos del tipo del array entre s.

System.Environment
La clase Environment permite consultar diferentes caractersticas del entorno en el
cual se ejecuta la aplicacin. Entre ellos, destacamos los siguientes:
CurrentDirectory: obtiene la ruta de acceso completa del directorio en el que se ha
iniciado la aplicacin.
MachineName: obtiene el nombre del equipo en el que se est ejecutando la
aplicacin.



24
GetEnvironmentVariable: permite consultar variables de entorno. Veamos un
ejemplo para consultar el valor de la variable PATH:

string path = Environment.GetEnvironmentVariable("PATH");

COLECCIONES DE DATOS
Los arrays permiten almacenar eficientemente objetos, y acceder a ellos por la
posicin en la que se encuentran. No obstante, los arrays tienen la limitacin de que
todos sus elementos han de ser del mismo tipo, y adems, es necesario indicar la
longitud exacta del array en el momento de su creacin.
Para suplir las limitaciones de los arrays, en el namespace System.Collections
disponemos de un conjunto de clases de coleccin, mediante los cuales podremos
hacer uso de listas enlazadas, pilas, colas, tablas hash, etc. Algunos de estos tipos
son:

ArrayList: permite almacenar objetos, y podemos acceder a ellos por su posicin
dentro de la estructura. Es similar a un array, pero con la diferencia de que
ArrayList es una estructura dinmica, que va solicitando o liberando memoria
segn sea necesario.
Queue: representa una cola (estructura de datos de tipo FIFO).
Stack: representa una pila (estructura de datos de tipo LIFO).
Hashtable: representa una tabla hash o diccionario, en la que los elementos se
identifican con una clave.
Tambin podemos utilizar colecciones genricas donde, al crearlas, debemos indicar
el tipo de datos que van a almacenar. La siguiente tabla muestra algunas de las
colecciones genricas, y sus clases de coleccin equivalentes:




25


Entrada/Salida
El namespace System.IO contiene toda la funcionalidad de entrada/salida. La
entrada/salida tiene lugar mediante streams, que son flujos de lectura o escritura
sobre un cierto medio de almacenamiento, como por ejemplo la memoria, el teclado,
la pantalla, o los ficheros de disco.
Los flujos de datos estn representados por la clase Stream, que permite realizar
diferentes operaciones:



La clase Stream es abstracta; por lo tanto, no se puede instanciar directamente, pero
existen diversas subclases que s que se pueden utilizar:



26



Para leer/escribir tipos de datos en un stream, se suele utilizar un lector o escritor
como los siguientes:









27
ARQUITECTURA BASICA DE .NET


ARQUITECTURA

La nueva tecnologa de Microsoft ofrece soluciones a los problemas de
programacin actuales, como son la administracin de cdigo o la programacin
para Internet. Para aprovechar al mximo las caractersticas de .Net es necesario
entender la arquitectura bsica en la que esta implementada esta tecnologa y as
beneficiarse de todas las caractersticas que ofrece esta nueva plataforma.

El Framework de .Net es una infraestructura sobre la que se rene todo un conjunto
de lenguajes y servicios que simplifican enormemente el desarrollo de aplicaciones.
Mediante esta herramienta se ofrece un entorno de ejecucin altamente distribuido,
que permite crear aplicaciones robustas y escalables. Los principales componentes
de este entorno son:
Lenguajes de compilacin
Biblioteca de clases de .Net
CLR (Common Language Runtime)
Actualmente, el Framework de .Net es una plataforma no incluida en los diferentes
sistemas operativos distribuidos por Microsoft, por lo que es necesaria su instalacin
previa a la ejecucin de programas creados mediante .Net. El Framework se puede
descargar gratuitamente desde la web oficial de Microsoft (ver link de descarga en
los recursos del final).
.Net Framework soporta mltiples lenguajes de programacin y aunque cada
lenguaje tiene sus caractersticas propias, es posible desarrollar cualquier tipo de
aplicacin con cualquiera de estos lenguajes. Existen ms de 30 lenguajes
adaptados a .Net, desde los ms conocidos como C# (C Sharp), Visual Basic o C++
hasta otros lenguajes menos conocidos como Perl o Cobol.

Common Language Runtime (CLR)
El CLR es el verdadero ncleo del Framework de .Net, ya que es el entorno de
ejecucin en el que se cargan las aplicaciones desarrolladas en los distintos



28
lenguajes, ampliando el conjunto de servicios que ofrece el sistema operativo
estndar Win32.
La herramienta de desarrollo compila el cdigo fuente de cualquiera de los lenguajes
soportados por .Net en un mismo cdigo, denominado cdigo intermedio (MSIL,
Microsoft Intermediate Lenguaje). Para generar dicho cdigo el compilador se basa
en el Common Language Specification (CLS) que determina las reglas necesarias
para crear cdigo MSIL compatible con el CLR.
De esta forma, indistintamente de la herramienta de desarrollo utilizada y del
lenguaje elegido, el cdigo generado es siempre el mismo, ya que el MSIL es el
nico lenguaje que entiende directamente el CLR. Este cdigo es transparente al
desarrollo de la aplicacin ya que lo genera automticamente el compilador.
Sin embargo, el cdigo generado en MSIL no es cdigo mquina y por tanto no
puede ejecutarse directamente. Se necesita un segundo paso en el que una
herramienta denominada compilador JIT (Just-In-Time) genera el cdigo mquina
real que se ejecuta en la plataforma que tenga la computadora.
De esta forma se consigue con .Net cierta independencia de la plataforma, ya que
cada plataforma puede tener su compilador JIT y crear su propio cdigo mquina a
partir del cdigo MSIL.
La compilacin JIT la realiza el CLR a medida que se invocan los mtodos en el
programa y, el cdigo ejecutable obtenido, se almacena en la memoria cach de la
computadora, siendo recompilado slo cuando se produce algn cambio en el
cdigo fuente.
Biblioteca de clases de .Net
Cuando se est programando una aplicacin muchas veces se necesitan realizar
acciones como manipulacin de archivos, acceso a datos, conocer el estado del
sistema, implementar seguridad, etc. El Framework organiza toda la funcionalidad
del sistema operativo en un espacio de nombres jerrquico de forma que a la hora
de programar resulta bastante sencillo encontrar lo que se necesita.
Para ello, el Framework posee un sistema de tipos universal, denominado Common
Type System (CTS). Este sistema permite que el programador pueda interactuar los
tipos que se incluyen en el propio Framework (biblioteca de clases de .Net) con los
creados por l mismo (clases). De esta forma se aprovechan las ventajas propias de
la programacin orientada a objetos, como la herencia de clases predefinidas para



29
crear nuevas clases, o el polimorfismo de clases para modificar o ampliar
funcionalidades de clases ya existentes.
La biblioteca de clases de .Net Framework incluye, entre otros, tres componentes
clave:
ASP.NET para construir aplicaciones y servicios Web.
Windows Forms para desarrollar interfaces de usuario.
ADO.NET para conectar las aplicaciones a bases de datos.
La forma de organizar la biblioteca de clases de .Net dentro del cdigo es a travs
de los espacios de nombres (namespaces), donde cada clase est organizada en
espacios de nombres segn su funcionalidad. Por ejemplo, para manejar ficheros se
utiliza el espacio de nombres System.IO y si lo que se quiere es obtener informacin
de una fuente de datos se utilizar el espacio de nombres System.Data.
La principal ventaja de los espacios de nombres de .Net es que de esta forma se
tiene toda la biblioteca de clases de .Net centralizada bajo el mismo espacio de
nombres (System). Adems, desde cualquier lenguaje se usa la misma sintaxis de
invocacin, ya que a todos los lenguajes se aplica la misma biblioteca de clases.

ENSAMBLADOS
Uno de los mayores problemas de las aplicaciones actuales es que en muchos
casos tienen que tratar con diferentes archivos binarios (DLLZs), elementos de
registro, conectividad abierta a bases de datos (ODBC), etc.
Para solucionarlo el Framework de .Net maneja un nuevo concepto denominado
ensamblado. Los ensamblados son ficheros con forma de EXE o DLL que contienen
toda la funcionalidad de la aplicacin de forma encapsulada. Por tanto la solucin al
problema puede ser tan fcil como copiar todos los ensamblados en el directorio de
la aplicacin.
Con los ensamblados ya no es necesario registrar los componentes de la aplicacin.
Esto se debe a que los ensamblados almacenan dentro de s mismos toda la
informacin necesaria en lo que se denomina el manifiesto del ensamblado. El
manifiesto recoge todos los mtodos y propiedades en forma de meta-datos junto
con otra informacin descriptiva, como permisos, dependencias, etc.



30
Para gestionar el uso que hacen la aplicaciones de los ensamblados .Net utiliza la
llamada cach global de ensamblados (GAC, Global Assembly Cache). As, .Net
Framework puede albergar en el GAC los ensamblados que puedan ser usados por
varias aplicaciones e incluso distintas versiones de un mismo ensamblado, algo que
no era posible con el anterior modelo COM.

MSIL Y LENGUAJES DE PROGRAMACIN
Los lenguajes de programacin de .Net hacen uso de las especificaciones del CLR y
de las bibliotecas base para el desarrollo de las aplicaciones. Cuando stas se
compilan, generan lo que se denomina un Assembly (o ensamblado). Este Assembly
puede ser un ejecutable (EXE) o un componente (DLL). Los ensamblados se auto
describen y proporcionan informacin para su ejecucin en el entorno del CLR
(especificaciones de seguridad, versin, componentes referenciados, recursos
utilizados, etc.). Estos Assemblies generados por los compiladores de los lenguajes
de programacin no generan cdigo de mquina, sino que lo hacen en un cdigo
intermedio, llamado MSIL. Esto permite la portabilidad del cdigo .Net a cualquier
plataforma y asegurar un ptimo rendimiento segn el entorno en el que se ejecuten
ya que, como vimos, es el CLR el que se encarga de traducir el Assembly al cdigo
nativo y proporcionar el entorno de ejecucin de stos.
Cuando trabajemos en .Net, el resultado de nuestro trabajo siempre sern
componentes en MSIL

NAMESPACES.
Como vimos, .Net nos proporciona, en las bibliotecas base, muchas clases
preconstruidas. Dada la gran cantidad de stas, es inevitable tener varias con el
mismo nombre. Los Namespaces son la clave en la organizacin de las bibliotecas
base dentro de la plataforma y es la manera en que .NET utiliza para navegarlas e
identificarlas.
Los Namespaces o Espacios de Nombre son calificadores de clases. Sirven para
evitar ambigedades y proporcionan una manera inteligente de organizar nuestro
cdigo dentro de la plataforma .NET.



31
A continuacin, se enumeran otros namespaces de la FCL:
System. Tipos de datos bsicos, generales.
System.Collections. Tipos de datos utilizados para almacenar otros tipos de
datos: listas, pilas, colas, tablas de hash, etc.
System.Diagnostics. Utilidades de depuracin de aplicaciones.
System.Drawing. Tipos para dibujo en 2D.
System.Globalization. Utilidades para facilitar la internacionalizacin de
aplicaciones.
System.Reflection. Utilidades para inspeccionar tipos en tiempo de ejecucin.
System.Text. Utilidades para trabajar con texto en diferentes codificaciones
(ASCII, unicode, etc.)
System.Xml. Utilidades que permiten trabajar con documentos XML.

DISTRIBUCIN
Debido a que toda la funcionalidad principal est dada por el .NET Framework, es
requisito para que funcionen nuestras aplicaciones que estn instalados en la PC del
usuario. El .NET Framework es gratuito y puede descargarse del sitio Web de
Microsoft. Se instala una vez, y cualquier aplicacin realizada en .NET puede hacer
uso de l. Esto es una ventaja ya que, de estar instalado el Framework, slo
tenemos que distribuir nicamente nuestros componentes (assemblies) y ejecutables
para que funcione nuestra aplicacin.
Cuando se instala .Net Framework, lo hace en la carpeta:
C:\Windows\Microsoft.NET\Framework
Siendo C: la unidad del sistema y Windows el directorio de instalacin de Windows
(en caso de Windows 2000 ste es WinNT).
Dentro hay un subdirectorio por cada versin del Framework instalado:



32
Todos los .NET Framework pueden coexistir ya que cada uno tiene su propio CLR y
bibliotecas base para funcionar. Esto significa que podemos tener instalados, en
nuestros sistemas, programas que funcionen con diferentes versiones del .NET
Framework, sin que tengan conflictos entre s.
Dentro del directorio de cada Framework, estn las bibliotecas base, los
compiladores, el CLR y dems componentes que se necesitan para que funcionen
las aplicaciones.

VENTAJAS PRINCIPALES DEL NET FRAMEWORK

El hecho de que .NET Framework est desarrollado sobre estndares confiere una
gran ventaja a esta plataforma. Tanto el componente principal del .NET Framework
(CLR), como la especificacin de los lenguajes .NET (CLS) y el lenguaje C#, han
sido estandarizados por ECMA (European Computer Manufacturers Association).
Por otro lado, muchas de las tecnologas que utiliza el .NET Framework son
estndares, como XML, SOAP, UDDI, WDSL, etc.
La utilizacin de estndares favorece otras ventajas del .NET Framework como son
la integracin de aplicaciones o la interoperabilidad entre lenguajes.
A continuacin, repasamos las ventajas ms importantes:
Integracin de componentes y aplicaciones. Los servicios web proporcionan una
arquitectura gil del sistema, tanto interna como externamente, simplificando la
integracin de aplicaciones o componentes por medio de intranets o de Internet.
Adems, permiten la integracin de aplicaciones ya existentes de forma sencilla y
sin necesidad de grandes modificaciones, con independencia de la plataforma y
lenguaje utilizado para desarrollar la aplicacin. Esto es posible gracias a que los
servicios web estn basados en el estndar XML.
Interoperabilidad entre lenguajes. El .NET Framework proporciona un entorno
comn de desarrollo y ejecucin para todos los lenguajes .NET. Todos los
lenguajes .NET permiten desarrollar aplicaciones Windows, Web Services,
pginas ASP.NET o aplicaciones para dispositivos mviles.



33
Todos los lenguajes .NET comparten la librera de clases (FCL), el sistema de
depuracin, el sistema de excepciones, la gestin automtica de memoria, etc.
De hecho, se pueden utilizar diferentes lenguajes .NET para desarrollar partes
distintas de una misma aplicacin. Esto facilita que los programadores puedan
escoger el lenguaje de programacin en funcin de sus preferencias y no de la
potencia del lenguaje, ya que todos ellos tienen acceso a las mismas
funcionalidades.
Facilita el desarrollo. El .NET Framewok est diseado enteramente bajo el
paradigma de la orientacin a objetos. Esto facilita el desarrollo de nuevos
componentes, y el uso de los componentes disponibles en la librera de clases.
La librera de clases de .NET Framework incluye multitud de componentes que
encapsulan tareas comunes, como el acceso a bases de datos, la creacin y
gestin de formularios de usuario, la creacin y control de threads de ejecucin,
etc. Adems, algunas de las tareas necesarias en COM como la gestin de
memoria o el control de punteros, que son fuente de muchos de los problemas de
falta de memoria o de accesos incorrectos, han sido eliminados, gracias a la
implementacin de un gestor automtico de memoria, y al uso de referencias en
vez de punteros.
Simplifica la instalacin. Los componentes .NET no necesitan aadir informacin
en el registro del sistema para funcionar, ni es necesario definir interfaces MIDL4
para su utilizacin, ya que son autodescriptivos. Esto implica que los
componentes .NET se pueden instalar simplemente copiando los ensamblados
correspondientes en la carpeta deseada de la mquina destino. El nico requisito
es que el motor de ejecucin del .NET Framework est instalado. Por otro lado,
es posible tener ms de una versin de un mismo componente coexistiendo en el
mismo ordenador, de forma que si una determinada aplicacin necesita una
versin anterior a otra ms moderna, recientemente instalada, puede seguir
funcionando sin problemas. De esta forma, se soluciona el problema del llamado
DLL 5 Hell de los componentes COM, en que al instalar una nueva versin de
una dll se sobrescriba la anterior, de forma que si una aplicacin requera la
versin antigua, sta poda dejar de funcionar, por ejemplo porque una de las
funciones que utilizaba de la dll antigua ya no estaba disponible o tena un
comportamiento diferente en la nueva.



34
Seguridad. El .NET Framework permite definir los permisos otorgados a un
programa para realizar unas u otras acciones. Por ejemplo, se puede MIDL
(Microsoft interface definition language) es el lenguaje utilizado para describir los
componentes COM y sus funcionalidades, para que puedan ser utilizados por
otras aplicaciones.




35

.NET Framework para usuarios

Si no desarrollara aplicaciones de .NET Framework, pero las usas, no es necesario
tener conocimiento concreto sobre .NET Framework o su funcionamiento. En
general, .NET Framework es completamente transparente para los usuarios.
Si usa el sistema operativo Windows, es posible que .NET Framework ya est
instalado en el equipo. Adems, si instala una aplicacin que requiera .NET
Framework, el programa de instalacin de la aplicacin puede instalar una versin
concreta de .NET Framework en el equipo. En algunos casos, puede aparecer un
cuadro de dilogo que le pide que instale .NET Framework. Si acaba de intentar
ejecutar una aplicacin cuando aparece este cuadro de dilogo y si el equipo tiene
acceso a Internet, puede ir a una pgina web que le permita instalar la versin de
.NET Framework que falta.
En general, no debe desinstalar ninguna versin de .NET Framework que est
instalada en el equipo, porque una aplicacin que use puede depender de una
versin concreta y se puede interrumpir si se quita esa versin. Observe que varias
versiones de .NET Framework se pueden cargar en un nico equipo al mismo
tiempo. Esto significa que no tiene que desinstalar las versiones anteriores para
instalar una versin posterior.


.NET Framework Silverlight para desarrolladores
Si es desarrollador, puede elegir cualquier lenguaje de programacin compatible con
.NET Framework para crear la aplicacin. Dado que .NET Framework proporciona
independencia e interoperabilidad entre lenguajes, puede interactuar con otras
aplicaciones de .NET Framework y componentes independientemente del lenguaje
con el que se desarrollaron.
Para desarrollar aplicaciones o componentes de .NET Framework, haga lo siguiente:

1. Instale la versin de .NET Framework que ser destino de su aplicacin. La
versin ms reciente de produccin es .NET Framework 4.5.




36
2. Seleccione el lenguaje o los lenguajes de .NET Framework que utilizar para
desarrollar las aplicaciones. Un gran nmero de lenguajes estn disponibles,
incluido Visual Basic, C#, F# y C++ en Microsoft. (Un lenguaje de
programacin que permite desarrollar aplicaciones de .NET Framework se
adhiere a la especificacin de Common Language Infrastructure (CLI).) Para
obtener una lista de lenguajes de programacin disponibles, vea Lenguajes
de programacin de .NET Framework.

3. Seleccione e instale el entorno de desarrollo que utilizar para crear
aplicaciones y que admita el lenguaje o los lenguajes de programacin que
seleccione. El entorno de desarrollo integrado de Microsoft para las
aplicaciones de .NET Framework es Microsoft Visual Studio. Est disponible
en diversas ediciones de minoristas y gratuitas.




37

DESARROLLOS MVILES CON .NET

Dispositivos mviles
Consideraremos equipos mviles a aquellos dispositivos que los usuarios pueden
llevar consigo y que se caracterizan por tener un tamao reducido, que caben en la
palma de la mano y en el bolsillo.

Soluciones mviles de Microsoft.
Con la salida de .NET, Microsoft ofreci su nueva plataforma para desarrollos web:
ASP.NET. Junto con esta plataforma, un poco ms tarde, apareci ASP.NET Mobile.
Esta tecnologa ofreci una de las primeras (y actualmente la ms robusta)
soluciones al desarrollo de aplicaciones mviles Online que nos resuelve uno de sus
mayores problemas: la incompatibilidad de lenguajes.
ASP.NET como plataforma para aplicaciones Online, en cuanto a la solucin mvil
nos ofrece, mediante el uso de formularios web mviles, la posibilidad de generar
contenido esttico y dinmico sin importar qu lenguaje necesita el equipo receptor
de la pgina. Automticamente, el motor de ASP.NET Mobile generar contenido
WML si es necesario, cHTML, XHTML o HTML 3.2, segn el equipo que solicite la
pgina. Esto produjo un gran avance, dado que hasta ahora el programador deba
realizar este tipo de conversin de un lenguaje a otro en forma manual,
desarrollando versiones alternativas para cada tipo de dispositivo.

FRAMEWORK VS. COMPACT FRAMEWORK
Cuando trabajemos con ASP.NET utilizaremos el .NET Framework completo, dado
que la ejecucin se realizar en el servidor y no en el equipo mvil. Cuando
trabajemos con desarrollo ejecutable, usaremos el .NET Compact Framework dado
que la ejecucin se realiza en el equipo mvil. Veamos las diferencias entre ambos.



38
.NET Framework
Con el surgimiento de .NET, Microsoft quiso revolucionar el modo de desarrollar bajo
su plataforma. Ahora podemos desarrollar aplicaciones en mltiples lenguajes con la
garanta de compatibilidad entre ellos y con un mismo Framework de clases detrs
que respalda a toda la funcionalidad que ofrece la plataforma.
En el caso de aplicaciones mviles, utilizaremos el .NET Framework para nuestras
aplicaciones ASP.NET Mobile. Salvo aquellas clases que estn pensadas para
aplicaciones de escritorio, tendremos todo el Framework a nuestra disposicin.
NET Compact Framework
Desde la salida de Visual Studio 2003, surgi esta versin compacta y reducida del
.NET Framework. Consta de un subset de clases (y cada clase, un subset de
mtodos y propiedades) del .NET Framework mayor, e incorpora algunos
namespaces dedicados especficamente al trabajo sobre equipos mviles.
La ltima versin es la .NET Compact Framework 1.0 Service Pack 2. Esta versin
compacta ocupa generalmente entre 2 y 3 MB en memoria del equipo, contra los
casi 24 MB de la versin mayor.
Las clases exclusivas de .NET Compact Framework son:
System.Data.SqlServerCE: administra la funcionalidad contra la versin
compacta de SQL Server CE (ahora conocida como Mobile).
Microsoft.WindowsCE.Forms: administra la funcionalidad para controlar el
input panel, y la comunicacin con cdigo nativo.
System.Net: incorpora diversas clases para el manejo de puertos infrarrojos,
como IrDAEndPoint, IrDAClient, IrDADeviceInfo, IrDAListener.




39
DIFERENCIAS FRAMEWORK Y COMPACT FRAMEWORK
Podemos resumir las diferencias en el siguiente cuadro:
TEMA DIFERENCIA EN .NET COMPACT FRAMEWORK
ASP.NET
No trae soporte de ASP.NET dado que no est pensado para que pueda
ejecutarse un servidor en el equipo mvil.
Interoperabilidad
COM
No se tiene soporte para comunicarse con objetos COM. S es posible
hacerlo a travs de una invocacin en la plataforma (PInvoke)
Datos
Posee un subset de ADO.NET, no est soportado el name space OleDb y se
incorpora el name space SqlServerCE.
Input / Output
Debido a limitaciones en el sistema operativo, algunas operaciones de
entrada / salida no estn disponibles.
Redes Redes Provee soporte adicional para puertos infrarrojos.
Serializacin
No se provee serializacin de objetos a travs de Binary Formatter o Soap
Formatter. S la hay en el uso de Web Services.
Grfico Hay diversos cambios en los controles de formulario, que veremos luego.
XML No soporta validacin del XML Schema, ni consultas Xpath.





40
CONCLUSIONES

El Framework .Net representa un entorno nico donde, bajo tecnologa
homognea, se pueden desarrollar prcticamente todas las aplicaciones y
sistemas de una empresa. Este marco comprende un gran abanico de posibles
entornos, arquitecturas y soluciones
Permite reducir la dispersin tecnolgica de sistemas heterogneos y conseguir
una convergencia del conocimiento tecnolgico necesario en todas las etapas de
vida de los sistemas de informacin de la empresa.
La homogeneidad de las infraestructuras permite tambin una mayor flexibilidad
en estas, que posibilita a los sistemas compartir entornos, virtualizar los mismos
o incluso trasladarlos a la nube de manera fcil.
El Framework .Net nos proporciona las herramientas necesarias para construir
sistemas heterogneos que puedan coexistir en un mismo entorno tecnolgico,
facilitando la integracin de estos sistemas, su construccin, mantenimiento y
configuracin escalable y flexible de las infraestructuras.
Aunque existen otras opciones para realizar labores similares a sta, como
Hibernate o directamente JDBC, es actualmente una de las tecnologas ms
difundidas actualmente.
.NET Framework est presente en cada vez ms ordenadores, y la
compatibilidad de Mono con la plataforma de Microsoft le augura un futuro muy
prometedor.






41
FUENTES DE INFORMACION

Referencias bibliogrficas

CEBALLOS, Javier. Enciclopedia de Microsoft Visual C#. Ed. RA-MA. Madrid.
Espaa. 2006.

CEBALLOS, Jordi. Introduccin a .NET. Universidad Abierta de Catalua. 2012.

EVJEN, Bill y BERES, Jason. Visual Basic .NET. Anaya Multimedia. Espaa. 2002.


Referencias electrnicas

http://es.wikipedia.org/wiki/Microsoft_.NET
http://blogs.msdn.com/b/warnov/archive/2010/07/04/breve-historia-del-framework-net.aspx
http://geeks.ms/blogs/eortuno/archive/2012/09/16/que-trae-de-nuevo-el-net-framework-4-5.aspx
http://msdn.microsoft.com/es-es/library/vstudio/hh425099.aspx
http://www.desarrolloweb.com/articulos/1328.php
http://jorgesaavedra.wordpress.com/2006/11/11/todo-sobre-el-net-framework-30/
http://es.slideshare.net/soreygarcia/net-framework-981946
http://firt.mobi/downloads/desarrollosmoviles.pdf
http://msdn.microsoft.com/es-pe/library/hh425099.aspx
http://img.redusers.com/imagenes/libros/lpcu113/capitulogratis.pdf
http://jordai.com/master/fundamentos/2-NET_Framework.pdf
http://es.scribd.com/doc/64525294/Resumen-Teoria-Semana1-Net-Framework-1
http://www.zdnet.com/blog/microsoft/microsoft-provides-sneak-peek-of-next-visual-studio-
beta/11903





42
ANEXOS

ANEXO N 1. NET FRAMEWORK EN CONTEXTO







43


ANEXO N 2. VERSIONES DE .NET FRAMEWORK







44
ANEXO N 3. Arquitectura de .NET Framework.









45
ANEXO N 4. Biblioteca de clases
















46
ANEXO N 5. Arquitectura del Compact Net Framework





47
ANEXO N 6. LIBRERA DE CLASES






48
ANEXO N 7. .NET FRAMEWORK 4.0









49
ANEXO N 8. TRABAJANDO CON LA NUBE Y LA WEB







50
ANEXO N 9. .NET FRAMEWORK 4.5

Вам также может понравиться