Desarrollo de aplicaciones para dispositivos móviles con.net



Documentos relacionados
Comparativa y evaluación n de las herramientas de programación n para desarrollar aplicaciones en dispositivos Pocket PC

Desarrollo de Aplicaciones Distribuidas con Servicios Web

Dispositivos móviles

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

Curso de Programación II con Visual Basic.Net

Lenguajes y herramientas de.net

1: La plataforma.net (.NET Framework)

Generador GeneXus.NET. Última actualización: 2009

Programación Web. Unidad 5. Programación del lado del servidor.

Dispositivos móviles. Dispositivos móviles

Estándares y lenguajes de marcado para el desarrollo de aplicaciones web orientadas a dispositivos moviles Esteban Saavedra Lopez

Para obtener más información, vea Introducción al control DataRepeater (Visual Studio).

Visual Studio 2008 es el conjunto de herramientas de

CONCLUISIONES Y RECOMENDACIONES

Introducción a la plataforma.net. Tema I.b: Rafael Corchuelo POOHV

ASP.NET PROGRAMA FORMATIVO. Modalidad: Teleformación. Duración: 56 horas. Objetivos:

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Evaluation of Pocket PC Devices for its Use as Mobile Servers

Software para el desarrollo de aplicaciones móviles. Rubén Darío Sánchez

Contenido. Capítulo 1: Introducción a Visual Studio.NET 1. Capítulo 3: Datos y programación en Visual Basic.NET 47

.NET Compact Framework

Parte III. Características del proyecto. Web corporativa. Aplicación gestión. Comandas. Gestión cocina.

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

CAPÍTULO 3 VISUAL BASIC

INTRODUCCIÓN A LA TECNOLOGÍA.NET

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Introducción a Visual Studio.NET

Arquitectura.NET. César Julio Bustacara M. 2008

4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005

DESARROLLO.NET 2011 CATÁLOGO FORMATIVO

Windows Server 2012: Infraestructura de Escritorio Virtual

Entornos de Programación Actividades de Laboratorios

Características y Beneficios

JAVA EE 5. Arquitectura, conceptos y ejemplos.

TÈCNICO EN PROGRAMACIÒN DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE, SENA Material de Apoyo Plataforma.NET LA PLATAFORMA.NET

Tema 1. Introducción a Java EE

2524 Developing XML Web Services Using Microsoft ASP.NET

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red.

Novedades. Introducción. Potencia

Las Novedades de VisualStudio.Net

Service Oriented Architecture: Con Biztalk?

INTRODUCCIÓN A JAVA. Índice

Capítulo 5. Cliente-Servidor.

Mejor tecnología para aplicación práctica NOMAD

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

Servicios de impresión y de archivos (Windows 2008)

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

2407: Programación en Microsoft C#, 2012 Edition

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

TEMA 1. Introducción

Introducción a ASP.NET

OLIMPO Servidor Universal

CLOUD ENIAC BACKUP. Sus datos son importantes?

PROGRAMA FORMATIVO MICROSOFT VISUAL BASIC. NET

Tema Tecnologías de Desarrollo

Conocer la sintaxis del lenguaje de programación C# Aproximación al lenguaje de programación Visual Basic Script y JScript

Introducción a Microsoft.NET

COLEGIO DE BACHILLERES ELABORADO POR: ING. IVETT ZARZA HIDALGO Y LIC. CLAUDIA HERNÀNDEZ ALPÍZAR PROFA. DE INFORMATICA Y DE CECAT-INFORMATICA

CONFIGURACIÓN Y DESARROLLO

Guayaquil - Ecuador Pedro Carbo 123 y Junín. Pasaje Comercial la Merced. 2do Piso. Oficina 2. Teléfonos: (593) (04) Mail.

Resumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva

Impacto de las soluciones de movilidad en la administración pública Luis Miguel García Responsable Soluciones de Movilidad para Empresa Microsoft

Introducción a la plataforma Microsoft.NET

Información comercial sobre el Software de Captura de datos de Almacén INVSCAN+ para gestión de stocks.

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

MS_20489 Developing Microsoft SharePoint Server 2013 Advanced Solutions

Desarrollo de Soluciones Avanzadas con Microsoft SharePoint Server 2013

CAPITULO 8. Planeamiento, Arquitectura e Implementación

Lenguaje de Cuarta Generación de Microsoft:.NET BACHILLERATO EN CIENCIAS DE LA COMPUTACIÓN E INFORMÁTICA DE LA UNIVERSIDAD DE COSTA RICA.

HERRAMIENTAS DE DESARROLLO

INF 473 Desarrollo de Aplicaciones en

Beneficios estratégicos para su organización. Beneficios. Características V

Servicio de VPN de la Universidad de Salamanca

Clientes de XProtect Acceda a su vigilancia

FUNDAMENTOS DE PROGRAMACION CON C#

Análisis de aplicación: BlueFish

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

TFM Comunicación, Redes y Gestión de Contenidos

Obtenga más información acerca de LoadMaster para Azure

ST28_Developing Microsoft SharePoint Server 2013 Advanced Solutions

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

Workflows? Sí, cuántos quiere?

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

Utilidades de la base de datos

Bienvenidos a la presentación, producción de informes y depuración (debugging). En esta unidad discutiremos la producción de informes utilizando la

Sistema de monitoreo canino basado en GPS y Comunicación Móvil. Análisis de Tecnologías

Fundamentos de programación Estudia las estructuras de control y cómo definir funciones en JavaScript.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Curso: Desarrollo de aplicaciones para escritorio y acceso de datos con.net FRAMEWORK 4.

FileMaker Pro 13. Uso de una Conexión a Escritorio remoto con FileMaker Pro 13

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

5.1 Introducción a Servicios Web

Transcripción:

Desarrollo de aplicaciones para dispositivos móviles con.net Programación de Sistemas Empotrados y Móviles (PSEM) Marco A. Peña marcoa@ac.upc.edu Índice de contenidos Escenarios Aplicaciones pcacoesweb móvil,thin Client Cet Cliente inteligente, Smart Client Compact Framework Plataforma de desarrollo Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 2 1

Escenarios Aplicaciones Web móvil Aplicaciones cliente inteligente Aplicaciones multi-dispositivo difícil: Diferentes dimensiones Diferentes características Diferentes estándares Web Poca reutilización Diferentes plataformas Diferentes APIs Diferentes lenguajes Página Web Móvil Código Local Navegador Web del Dispositivo Sistema Operativo del Dispositivo Web móvil vs. Cliente inteligente Ventajas de apl. Web móvil Ventajas de apl. cliente inteligente Presentación adaptable Soporte dinámico de múltiples navegadores de dispositivos Soporte navegador en dispositivos bajo coste Código base único Mantenimiento simplificado Extensión natural de las apl. Web existentes Ejecución en servidor Sin instalación en cliente Sin ejecución en cliente Operativa off-line Ejecución Local Datos Locales IU enriquecido Multimedia IU elaborado Integración con elementos dispositivo Lectores tarjetas Lectores código barras Receptores GPS Telefonía / mensajería 2

Escenarios: con.net Controles Web Móviles ASP.NET Extensiones para Dispositivos Inteligentes Página Web Móvil Código Local Navegador Web del Dispositivo.NET Compact Framework Sistema Operativo del Dispositivo Web Móvil vs. Cliente inteligente Web móvil, Thin Client Aplicaciones basadas en tecnologías WEB En el dispositivo sólo se visualiza la interfaz (diseño limitado) No requieren instalación Toda la lógica de negocio está en el servidor Desarrollo con Visual Studio y ASP.NET Mobile Controls. Requieren conectividad permanente Cliente inteligente, Smart Client La aplicación se instala y se ejecuta en el dispositivo Tanto la interfaz como toda o parte de la lógica de negocio está en el dispositivo Permite el desarrollo de aplicaciones autónomas (standalone) 6 3

Herramientas de desarrollo Historia Pocket PC 2002 Smartphone 2002 2003 2003 Second Edition Windows Mobile 5.0 WinCE 3.0 WinCE 3.0 WinCE 4.0 WinCE 4.2 WinCE 5.0 evc 3 (C++) evb 3 (VB) Visual Studio.NET + SDE evc 3 (C++) evc 4 (C++) VS.NET 2003 (C#, VB.NET) evc 4 sp3 (C++) VS.NET 2003 (C#, VB.NET) Visual Studio 2005 (C#, VB.NET, C++) MFC, ATL,.NET CF Active Sync Connection Mgr MAPI OBEX Telephony WIN32 Active Sync Connection Mgr MAPI OBEX Telephony ATL 4.2,.NET CF Enhanced Emulator Configuration Mgr, Bluetooth, SMS.NET CF SP2 VGA (PPC) QVGA (SP) Square Landscape.NET CF 2.0 MFC 8.0, ATL 8.0 Broad managed code support Notifications Broker, Location, Camera, Watson, D3DM Índice de contenidos Escenarios Aplicaciones pcacoesweb móvil,thin Client Cet Cliente inteligente, Smart Client Compact Framework Plataforma de desarrollo Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 8 4

Aplicación Web móvil Visual Basic ASP.NET Web Forms C++ C# J# Web Services ADO.NET and XML Base Class Libraries Windows Forms Common Language Runtime Visual Studio.NET Desarrollo Web Móvil IDE integrado Diseño visual y depuración Fácil integración con datos y XML Controles Web Móviles ASP.NET Parte de ASP.NET Adaptable a las propiedades del disp. Completo uso del.net Framework Aplicación Web móvil 1. Petición HTTP 4. Respuesta adaptada Obtiene características del dispositivo: Alto y ancho Color Imágenes Protocolo Retorna el protocolo o Web adecuado: HTML chtml WML XHTML 2. Procesamiento ASP.NET Genera página ASPX Procesa página Cada control genera su propia salida 3. Resultado ASP.NET 5

Aplicaciones típicas Teléfonos móviles y PDAs Tipos de aplicaciones: Acceso a datos de otros sistemas: CRM, ERP, ventas, etc. Mobile commerce: entradas, flores, transporte, reservas, etc. Mobile content: noticias, resultados deportivos, información meteorológica, sorteos, etc. Monitorización de sistemas: servidores, equipos médicos, distribución, etc. Etc. Ejemplo Conversor de moneda 1. Obtener PaísOrigen, PaísDestino del usuario PaísOrigen, PaísDestino Ratio de cambio 2. Obtener la cantidad a convertir 3. Llamar al servicio Web para obtener el ratio de cambio Servicio Web de ratio de cambio 4. Convertir 5. Mostrar resultados 6

ASP.NET Mobile Web Controls (antes MMIT) Extiende ASP.NET para aplicaciones Web móviles Completamente integrado en Visual Studio.NET Soporta múltiples dispositivos y lenguajes de marcado Web Forms.NET Framework ASP.NET Mobile Web Forms Web Services Services Framework Mobile Web Form Base Data Debug Windows Forms &.NET Compact Framework Common Language Runtime System Services Renderizado adaptativo Retorna WML Mobile Capability Detección del tipo de navegador WAP AdaptadorW ML Adaptador chtml Adaptador HTML Elige WML Elige HTML Formulario Web Móvil Control o de llamadas telefónicas IIS,.NET Framework, ASP.NET Crea la página Retorna HTML Petición HTTP Petición HTTP 7

Índice de contenidos Escenarios Aplicaciones Web móvil,thin Client Cliente inteligente, Smart Client Compact Framework Plataforma de desarrollo Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 16 Cliente inteligente Visual Basic ASP.NET Web Forms C++ C# J# Web Services ADO.NET and XML Base Class Libraries Windows Forms Common Language Runtime Visual Studio.NET Desarrollo para dispositivo inteligente Utiliza.NET Compact Framework IDE integrado Emuladores Depuración remota.net Compact Framework Codigo gestionado Servicios Web Amplio subconjunto de las librerías de clases del.net Framework 8

Ejemplo HTTP IIS XML / BizTalk / CS 2002 Enterprise back-end (SAP, PeopleSoft, etc.) Motor de base de datos para dispositivos Windows CE Completa replicación y sincronización con SQL Server Diseñada para alto rendimiento en entornos de recursos reducidos Proveedor gestionado de acceso a SQL Server CE para.net Compact Framework Aplicaciones nativas Se compilan en código nativo para el juego de instrucciones de un determinado procesador Acceden directamente a las API y servicios de Windows CE Desarrollo en C++ con Embedded Visual C++ (EVC++) Entorno basado en Visual Studio 6.0 Se añade SDK de la plataforma en concreto API, emulador Depuración con emulador o con el terminal, herramientas de control remoto del estado del dispositivo 19 9

Aplicaciones nativas: uso Rendimiento es crítico API Windows CE: Aprovechamiento de las APIs adicionales que no están disponibles en el.net CF Desarrollo de bajo nivel Device drivers Serial port I/O Multimedia Aplicaciones real-time Extensiones de la Shell Today screen Panel de control Aplicaciones gestionadas (managed) Como cualquier aplicación.net Desarrollo en C# o VB.NET usando la librería de clases que ofrece el.net CF Se compilan al lenguaje intermedio de.net La primera vez que ejecuta la aplicación, el entorno de ejecución de.net CF (.NET CF runtime) la compila (Just In Time) en código nativo El runtime se encarga también de gestionar su ejecución (acceso a memoria, recolección de basura, excepciones etc.) 21 10

Aplicaciones gestionadas: uso Proyectos que tienen como prioridad un ciclo de desarrollo rápido: C#, Garbage Collection, librerías.net Único binario para todas las plataformas Aplicaciones basadas en XML y servicios WEB Aplicaciones corporativas: La dificultad principal es la integración con otros sistemas y el acceso remoto La integración de los servicios WEB y de XML en el framework puede ayudar mucho Para acceso a BD relaciones se ofrece ADO.NET Portar una aplicación del.net al.net Compact Framework es bastante sencillo (separación en capas) Uso combinado código Nativo-Gestionado Lo mejor de ambos mundos: Usar P/Invoke para llamar DLL nativas desde código.net CF Recomendable hacer el desarrollo principal p en.net CF y complementarlo con DLL nativas para las partes más específicas de la plataforma Ejemplo telefonía (llamadas, SIM, ): http://msdn2.microsoft.com/en-us/library/aa446543.aspx Smart Device Framework (SDF) Extensión del CF de libre distribución Se puede descargar desde: http://www.opennetcf.org/ Añade funcionalidad que habría que usar a través del P/Invoke 11

Opciones de desarrollo API Microsoft Win32 (C / C++) MFC (C++).NET Framework (C# and Microsoft Visual Basic.NET) Puntos fuertes DLLs y ejecutables pequeños y rápidos. Gestión de memoria más eficiente. Para drivers, applets del panel de control, extensiones del shell, No requieren de un runtime. Orientación a objetos, herencia, encapsulación, polimorfismo. Clases para arrays, listas,... Seguridad en tipos (Type safety) Completo soporte de MFC/ATL, código fuente y herramientas. Buenas herramientas y wizards. Interfaz de programación bien diseñada.. Orientación a objetos, herencia, encapsulación, polimorfismo. Clases para arrays, listas, tablas de hash, diccionarios, pilas Seguridad en tipos (Type safety) Espacios de nombres (Namespaces). Garbage collection automático que elimina memory leaks. MSIL / CIL, proporciona portabilidad a los ejecutables (.exe y.dll) Escribir clientes de servicios Web es rápido y fácil. Amplio soporte a XML. Herramientas de desarrollo muy buenas. Diseñador de formularios. Índice de contenidos Escenarios Aplicaciones Web móvil,thin Client Cliente inteligente, Smart Client Plataforma de desarrollo, Compact Framework Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 25 12

Plataforma de desarrollo.net Compact Framework Versión ligera del.net Framework Diseñado específicamente para dispositivos con recursos limitados Compatible con VS.NET (C#, VB.NET) Permite ejecutar aplicaciones de forma segura en el dispositivo Compilador JIT de alto rendimiento Experiencias de usuario: muy interactiva, offline y en red Facilita el consumo de servicios Web Ajustable en tamaño y rendimiento 13

.NET Compact Framework Compatibilidad Compatibilidad estricta con el.net Framework Subconjunto de funcionalidades.net Framework.NET Compact Framework Desktop.NET Framework Services Description Discovery Protocols Caching Configuration System.Web System.Data UI HtmlControls WebControls Security SessionState Design Drawing2D Imaging System.WinForms ComponentModel System.Drawing Printing Text System.Xml ADO.NET Design SqlClient XmlDocument Xslt/XPath Serialization Reader/Writers System Collections Security Text Globalization IO Net Reflection Resources Configuration ServiceProcess Diagnostics Threading Runtime InteropServices Remoting Serialization 14

.NET Compact Framework (1.x) Services Description Discovery Protocols Caching Configuration System.Web System.Data UI HtmlControls WebControls Security SessionState Design Drawing2D Imaging System.WinForms ComponentModel System.Drawing Printing Text System.Xml ADO.NET Design SqlClient SqlServerCe XmlDocument Xslt/XPathXPath Serialization Reader/Writers System Collections Security Text Globalization IO Net Reflection Resources Configuration ServiceProcess Diagnostics Threading Runtime InteropServices Remoting Serialization.NET Compact Framework Tamaño del Compact Framework (RAM o ROM) ~1.5 MB Necesidades d RAM para ejecución 0.5 MB+ (dependiendo del tipo de aplicación) Tamaño típico de las aplicaciones 5-40 KB Las aplicaciones son más pequeñas porque aprovechan características del Compact Framework 15

.NET Compact Framework 32.NET Compact Framework Reescrito Copiado Execution Engine JIT, GC, Loader, assembly cache Microsoft.DirectX. Direct3DMobile Windows.Forms System.Drawing System.Threading System.IO System.Resources System.Net t Microsoft.Win32. Registry System.Cryptography System.IO.Ports System.String System.Text System.Text.Regex System.Xml System.Data System.Messaging Microsoft.VisualBasic System.Collections System.Generic. Collections System.Web.Services System.Globalization 33 16

Índice de contenidos Escenarios Aplicaciones Web móvil,thin Client Cliente inteligente, Smart Client Compact Framework Plataforma de desarrollo Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 34 Arquitecturas orientadas a servicios El modelo tradicional de cliente-servidor no es adecuado. Las aplicaciones móviles no pueden depender de la conexión para funcionar La cobertura no siempre está garantizada. Las redes inalámbricas actuales tienen limitaciones de ancho de banda y de latencia Tarificación por tráfico En estos escenarios el acceso a los datos es mucho más complicado de gestionar Garantizar recepción de los datos Gestión de fallos Optimizar el uso de la red 17

Arquitecturas orientadas a servicios Desarrollar aplicaciones autónomas Factores a tener en cuenta Gestionan un subconjunto de datos de negocio. Gestionan un subconjunto de las reglas de negocio. Interactúan con lógica en el servidor Basado en SOA (Service Oriented Architecture) y Servicios Web. Basado en replicación. Múltiples l tecnologías La solución recomendada son las aplicaciones tipo smart client en código nativo o gestionado. SQL Mobile puede facilitar el desarrollo de las aplicaciones que requieren replicación de datos. Arquitecturas orientadas a servicios Facilita la construcción de sistemas distribuidos. Un servicio se puede definir como una aplicación que publica una interfaz basada en mensajes (asíncronos), encapsula sus datos y gestiona transacciones ACID (Atomic, Consistent, Isolated, Durable) sobre sus datos. Proveedor y consumidor del servicio comparten sólo una interfaz. No se comparte ni implementación ni código. El consumidor percibe la implementación del servicio como una caja negra. DESACOPLAMIENTO REUTILIZACIÓN 18

Acceso a datos: esquema 38 Acceso a datos: opciones Acceso local a datos Usar ADO.NET, SQL Server CE, XML Acceso remoto a datos Servicios Web Reutilizar Servicios (desktop, mobile web etc.) Encapsulación de la lógica de negocio Sincronización SQL Server CE Robusto Sincronización avanzada Sincronización vía http/https Acceso directo a SQL Server Sólo si se está conectado permanentemente Colas de Mensajes MSMQ A partir de CF 2.0 39 19

Acceso a datos: recomendaciones Primera opción es Servicios Web y SOA Si hay replicación compleja de datos: Replicación ió SQL Server CE con SQL Server Si necesitamos mensajería fiable: Colas de mensaje MSMQ (CF 2.0) Se pueden utilizar múltiples tecnologías Mezclar cliente local y cliente Web Servicios Web y replicación SQL Server CE Recordar que estamos en entorno móvil Ancho de banda restringido y latencia en comunicaciones Probar el rendimiento en dispositivos y redes reales 40 Índice de contenidos Escenarios Aplicaciones Web móvil,thin Client Cliente inteligente, Smart Client Compact Framework Plataforma de desarrollo Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 41 20

Conceptos básicos La duración de la batería es un factor crítico para los usuarios Las aplicaciones pueden tener un impacto muy importante en la duración de la batería si no están correctamente implementadas El mayor consumo de debe a la CPU Dos tipos de consumo: Activo ( Active ): Cuando hay una aplicación en ejecución Inactivo ( Idle ): El consumo mínimo del S.O., cuando no hay ninguna aplicación del usuario en ejecución. 42 Optimización modo Activo Reducir utilización de la CPU. Minimizar tiempo de ejecución. Reducir potencia consumida por los periféricos Radio, Audio, USB/Serial, IR, Bluetooth, Ethernet Cerrar handles cuando no están en uso Evitar el polling Consumo WAN Potencia es proporcional al volumen de los datos intercambiados. Usar protocolos eficientes. 43 21

Optimización modo Inactivo Permitir que el dispositivo entre en modo inactivo Activar las aplicaciones sólo cuando es necesario Incrementar el tiempo de inactividad de las aplicaciones Cuidado con temporizadores en los plug-in del Today/Home Screen Evitar temporizadores indefinidos/continuos Deshabilitar temporizadores cuando la aplicación no está en uso Parar animaciones cuando la aplicación no está activa Gestionar el evento WM_ACTIVATE (WA_INACTIVE) Usar GetClipBox para determinar si la aplicación está visible Usar eventos (en Windows Mobile 5.0 usar Notification Broker API) 44 Índice de contenidos Escenarios Aplicaciones Web móvil,thin Client Cliente inteligente, Smart Client Compact Framework Plataforma de desarrollo Acceso a datos y arquitecturas orientadas a servicios (SOA) Consumo Memoria 45 22

Tipos de memoria en WM 5.0 Tipos: Flash ROM: los datos no se pierden cuando el dispositivo no está alimentado, lenta (sobre todo escritura). RAM: los datos se pierden cuando el dispositivo no está alimentado, rápida, impacto importante en la autonomía del dispositivo. Smartphone 2002/2003, Windows Mobile 5.0 Pocket PC/Smartphone : Flash: S.O., sistema de ficheros RAM: datos temporales necesarios para ejecución de la aplicación Pocket PC 2003/2002: Flash: S.O. RAM: datos temporales y sistema de ficheros. 46 Tipos de memoria Flash NOR ROM: Rápida de leer, lenta de escribir Soporta XIP (Execute In Place). No hace falta mover el programa en RAM para ejecutarlo La existencia de este tipo de ROM puede reducir el tamaño de RAM necesaria y así mejorar la autonomía del dispositivo NAND ROM: Rápida de escribir, lenta de leer Las tarjetas SD y CF son NAND Las aplicaciones no se pueden ejecutar directamente desde NAND ROM 47 23

Compactación FS en WM 5.0 Los datos en flash ROM no se borran en el momento que lo pide la aplicación por motivos de rendimiento Se borran periódicamente por el proceso de compactación o cuando haya necesidad de liberar espacio Cuando funciona el proceso de compactación puede que se note temporalmente un empeoramiento del rendimiento: http://blogs.msdn.com/windowsmobile/archive/2006/03/16/552996.aspx 48 Referencias 49 24

Preguntas y respuestas DSEM: Diseño de Sistemas Empotrados y Móviles 50 25