2012
.NET COMPACT FRAMEWORK
Julio Csar Hernndez Ortega IESE 25/04/2012
INDICE
INTRODUCCIN ..2 3.1 Estructura del .NET Compact Framework 2 3.1.1 Windows CE ...3 3.1.2 Commond Language Runtime .3 3.1.3 Framework 4 3.1.4 Visual Studio 4 3.2 Primera Aplicacin para .NET Compact Framework 4 3.2.1 Aplicacin Pocket PC con .NET Compact Framework .4 [Link] Formularios .5 [Link] Arranque de una aplicacin .5 [Link] Navegacin ..6 [Link] Cdigo (Form1) .6 [Link] Cdigo (Form2) .7 [Link] MDI aproximacin ..7 3.3 Funcionalidades bsicas del .NET CF .8 3.4 Funcionalidades avanzadas del .NET CF ..8 3.4.1 Windows Communication Foundation 8 3.4.2 LINQ ..8 3.4.3 Formularios Windows Forms ..9 3.4.4 SoundPlayer 9 3.4.5 Compresin 9 3.4.6 Delegados .9 3.4.7 Generador de perfiles CLR de .NET Compact Framework 9 Conclusiones y Bibliografa .10 Julio Csar Hernndez Ortega TICs y Desarrollo de Software 1
.NET COMPACT FRAMEWORK
INTRODUCCIN
Microsoft. NET Compact Framework (.NET CF) es una versin del .NET Framework que est diseado para funcionar en Windows CE basado en mviles/dispositivos embebidos tales como PDAs, telfonos mviles, los controladores de fbrica, set-top boxes, [Link] Compact Framework comparte algunas de las bibliotecas de clases que utiliza la plataforma de desarrollo completa .NET Framework, tambin algunas de sus bibliotecas estn diseadas especficamente para dispositivos mviles, como Windows CE InputPanel. Sin embargo, las bibliotecas no son copias exactas de .NET Framework. Los de .NET Compact Framework escalan hacia abajo para ocupar menos espacio. Es posible desarrollar aplicaciones que utilizan .NET Compact Framework en Visual [Link] 2003, en Visual Studio 2005, en Visual Studio 2008, en C# o Visual [Link] y en Lexico. Aplicaciones desarrolladas con Basic4ppc tambin se compilan eventualmente para el .NET CF. Las aplicaciones resultantes estn diseadas para ejecutarse en un compilador JIT especial, para dispositivos mviles, de alto rendimiento. .NET Compact Framework se puede ejecutar en equipos de escritorio con el pleno. NET Framework, pero su interfaz de usuario no se puede actualizar para parecerse a la de una aplicacin desarrollada para PC de escritorio. Microsoft. NET Compact Framework 3.5 Redistributable contiene la Common Language Runtime y las bibliotecas de clases creadas para. NET Compact Framework. Adems de la versin 3.5 de apoyo, tambin admite las aplicaciones creadas para la versin 1.0 y 2.0. De. NET Compact Framework 3.5. Ofrece nuevas caractersticas como Windows Communication Foundation, LINQ, SoundPlayer, nuevas herramientas de soporte en tiempo de ejecucin, y muchas otras caractersticas. Una versin del .NET Compact Framework tambin est disponible para la Xbox 360. Si bien las caractersticas en tiempo de ejecucin no son iguales a la normal. NET CF, slo un subconjunto de la biblioteca de clases est disponible. Esta versin es utilizada por el XNA Framework para ejecutar los juegos gestionados en la consola. Hay otras limitaciones, como el nmero de hilos que se limita a 256. A diferencia de otras versiones de. NET CF, la versin de Xbox 360 permite establecer la afinidad del procesador a los hilos creados. Los hilos estn programados entre cuatro procesos simultneos en ejecucin en el procesador de varios ncleos del sistema.
3.1 Estructura del .NET Compact Framework
.NET Compact Framework hereda la arquitectura .NET Framework completa de Common Language Runtime para ejecutar cdigo administrado. Proporciona interoperabilidad con el sistema operativo Windows CE de un dispositivo para tener acceso a funciones nativas e integrar los componentes nativos favoritos en una aplicacin. Julio Csar Hernndez Ortega TICs y Desarrollo de Software
Puede ejecutar aplicaciones nativas y administradas de manera simultnea. El host del dominio de aplicacin, que tambin es una aplicacin nativa, inicia una instancia del Common Language Runtime para ejecutar el cdigo administrado.
3.1.1 Windows CE
.NET Compact Framework utiliza el sistema operativo Windows CE para la funcionalidad central y para diversas caractersticas especficas de dispositivos. Varios tipos y ensamblados, como los de los formularios Windows Forms, grficos, dibujos y servicios Web, se han recompilado para que se ejecuten eficazmente en los dispositivos, en lugar de copiarse de .NET Framework completo. .NET Compact Framework ofrece la siguiente interoperabilidad con Windows CE: Compatibilidad con seguridad nativa. Integracin completa con programas de instalacin nativos. Interoperabilidad con cdigo nativo mediante la interoperabilidad COM y la invocacin de plataformas. 3
3.1.2 Common Language Runtime
Tambin el Common Language Runtime (CLR) de .NET Compact Framework se ha vuelto a generar para permitir que los recursos restringidos se ejecuten en memoria limitada y lograr un uso eficaz de la energa. Entre Windows CE y el Common Language Runtime existe una capa de adaptacin de plataforma, que no aparece en la ilustracin, para asignar las interfaces de servicios y dispositivos necesarias para CLR y Framework a los servicios e interfaces de Windows CE.
Julio Csar Hernndez Ortega TICs y Desarrollo de Software
3.1.3 Framework
.NET Compact Framework es un subconjunto de .NET Framework pero tambin contiene caractersticas diseadas en exclusiva. Ofrece prestaciones y facilidad de uso para acercar a los desarrolladores de aplicaciones nativas para dispositivos a .NET Framework, y para acercar a quienes desarrollan aplicaciones de escritorio a los dispositivos.
3.1.4 Visual Studio
Desarrollar aplicaciones para dispositivos inteligentes con Microsoft Visual Studio 2005 es tan sencillo como desarrollar aplicaciones para escritorio. El desarrollo de dispositivos inteligentes en Visual Studio incluye un conjunto de emuladores y tipos de proyecto que cubren el desarrollo para Pocket PC, Smartphone y Windows CE incrustado.
3.2 Primera aplicacin para .NET Compact Framework
3.2.1 Aplicacin Pocket PC con .NET Compact Framework
Iniciar Microsoft Visual Studio Crear un nuevo proyecto de tipo C# -> Smart Device -> Pocket PC 2003 Incluir en el formulario inicial el control TextBox Incluir un botn. Escribir el cdigo necesario para incluir el mensaje HOLA dentro de la caja de texto.
Julio Csar Hernndez Ortega TICs y Desarrollo de Software
[Link] Formularios Son los contenedores de controles de tipo ventana utilizados en el Compac Framework. using System; using [Link]; using [Link]; using [Link]; using [Link]; using [Link]; using [Link]; namespace ejemplo1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnMsj_Click(object sender, EventArgs e) { [Link] = "HOLA MUNDO"; } } } 5
[Link] Arranque De Una Aplicacin Archivo [Link] creado por defecto using System; using [Link]; using [Link]; namespace ejemplo1 { static class Program { /// <summary> /// Punto de entrada principal para la aplicacin. /// </summary> [MTAThread] static void Main() { [Link](new Form1()); } } } Julio Csar Hernndez Ortega TICs y Desarrollo de Software
[Link] Navegacin Mtodos: o Hide() : Oculta el formulario o Show(): Muestra un formulairo. o Close(): Cierra el formulario, libera recursos. o Dispose(): libera los recursos utilizados por el formulario (MDI). Es necesario que la clase del formulario este instanciada y referenciada por una variable. Sobre el objeto formulario pueden aplicarse los mtodos descritos.
[Link] Cdigo (Form1) namespace ejemplo1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnMsj_Click(object sender, EventArgs e) { [Link] = "HOLA MUNDO"; } //Evento para el botn Siguiente private void menuItem1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); [Link](); [Link](); } } }
Julio Csar Hernndez Ortega TICs y Desarrollo de Software
[Link] Cdigo (Form2) namespace ejemplo1 { public partial class Form2 : Form { Form _back; public Form2(Form back) { _back = back; InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { _back.Show(); [Link](); } } } [Link] MDI Aproximacin
El manejo de mltiples formularios podemos hacerlo utilizando una clase de control encargada de gestionar los objetos tipo Form.
using System; using [Link]; using [Link]; namespace ejemplo1 { public class ContenedorFomularios { public Form1 f1; public Form2 f2; public Form3 f3; public Form activo; public ContenedorFormularios() { activo = new Form1(); } [MTAThread] static void Main() { ContenedorFormularios mc = new ContenedorFormularios(); [Link]([Link]); } }} Julio Csar Hernndez Ortega TICs y Desarrollo de Software
3.3 Funcionalidades bsicas del .NET CF
.NET Compact Framework ofrece las siguientes funciones principales: Ejecuta programas independientes del hardware y el sistema operativo. Admite protocolos de red comunes y se conecta perfectamente con servicios XML Web. Proporciona a los desarrolladores un modelo para orientar sus aplicaciones y componentes ya sea a una amplia gama de dispositivos o a una categora especfica de stos. Facilita el diseo y la optimizacin de los recursos de sistema limitados. Obtiene un rendimiento ptimo en la generacin de cdigo nativo cuando se utiliza compilacin Just-In-Time (JIT). .NET Compact Framework no admite las siguientes tecnologas: Funcionalidad de servidor [Link] Entorno remoto Emisin de la reflexin Desarrollo en C++ Desarrollo en J# y JSL 8
3.4 Funcionalidades avanzadas
3.4.1 Windows Communication Foundation
.NET Compact Framework 3.5 admite Windows Communication Foundation (WCF), que es el modelo de programacin unificado de Microsoft para generar las aplicaciones orientadas a servicios. Los clientes que estn ejecutando .NET Compact Framework pueden conectarse a los servicios web de WCF que ya existan en el escritorio. Adems, se ha agregado compatibilidad para un nuevo transporte de WCF, el transporte de correo Microsoft Exchange Server, tanto para aplicaciones .NET Compact Framework como para aplicaciones de escritorio. Para obtener ms informacin acerca de WCF, vea Mensajera en .NET Compact Framework y Transporte de correo de Exchange Server en WCF.
3.4.2 LINQ
Language-Integrated Query (LINQ) agrega funciones de consulta de uso general a .NET Compact Framework que se aplican a diferentes orgenes de informacin, como bases de datos relacionales, datos XML y objetos en memoria. Para obtener ms informacin, vea LINQ en .NET Compact Framework.
Julio Csar Hernndez Ortega TICs y Desarrollo de Software
3.4.3 Formularios Windows Forms
La tabla siguiente describe las mejoras realizadas a los controles de los formularios Windows Forms en .NET Compact Framework 3.5.
Tipo
TabPage Panel Splitter PictureBox Control
Cambios
Ahora, los usuarios pueden agregar grficos a estos controles.
Ahora, se admiten fuentes ClearType y puede modificar la propiedad BackColor de los controles de slo lectura. Ya no se admiten propiedades SelectionStart y SelectionLength. las
ComboBox
3.4.4 SoundPlayer
.NET Compact Framework 3.5 admite SoundPlayer, que permite reproducir varios sonidos. Un dispositivo puede mezclar estos sonidos si el hardware admite esta posibilidad. Para obtener ms informacin, vea SoundPlayer en .NET Compact Framework. 9
3.4.5 Compresin
.NET Compact Framework 3.5 incorpora compatibilidad para las siguientes clases del espacio de nombres [Link]: CompressionMode DeflateStream GZipStream
Adems, se admite la propiedad AutomaticDecompression.
3.4.6 Delegados
.NET Compact Framework 3.5 admite el mtodo CreateDelegate.
3.4.7 Generador de perfiles de CLR de .NET Compact Framework
.NET Compact Framework 3.5 admite el generador de perfiles de CLR, que slo estaba disponible con la versin completa de .NET Framework. El generador de perfiles de CLR permite ver el montn administrado de un proceso e investigar el comportamiento del Julio Csar Hernndez Ortega TICs y Desarrollo de Software
recolector de elementos no utilizados. El generador de perfiles de CLR y su documentacin asociada estn incluidos en las herramientas avanzadas de .NET Compact Framework. Para obtener ms informacin, vea Power Toys for .NET Compact Framework.
Conclusiones
Podemos Observar que .NET Compact Framework hereda la arquitectura .NET Framework completa de Common Language Runtime. Este framework fue diseado para desarrollar aplicaciones para Windows Mobile ofrecindonos una gama de herramientas para el desarrollo como LINQ para manejar las bases de datos, podemos crear aplicaciones como si se tratara de una aplicacin para escritorio. .NET Compact Framework utiliza el sistema operativo Windows CE para la funcionalidad central y para diversas caractersticas especficas de dispositivos En Visual Studio 2008 se instala por default las herramientas necesarias para desarrollar en Windows Mobile mientras que en versiones ms recientes como VS 2010 se tiene que instalar el SDK para dispositivos y solo usa Windows Phone. 10
Bibliografa
[Link] [Link] [Link] [Link] [Link] df
Julio Csar Hernndez Ortega TICs y Desarrollo de Software