Está en la página 1de 140

Programacin Multimedia y Dispositivos Mviles

UD1: Anlisis de Tecnologas para Aplicaciones en Dispositivos Mviles. Profesor: Nstor Martnez

ndice
1. 2. 3. 4. 5. 6. 7. 8. 9. Dispositivos Mviles: Tipos, Historia y Evolucin. Evolucin histrica. Libreras disponibles para el desarrollo de interfaces. Herramientas para el desarrollo de interfaces. Elementos de una herramienta de desarrollo de interfaces. Componentes de una interfaz. Componentes de una interfaz. Propiedades. Componentes de una interfaz. Eventos. Cdigo generado por la herramienta de diseo.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

La revolucin de los dispositivos mviles tiene tan solo 20 aos. Gran evolucin: desde la voz a la informacin inalmbrica. Uso de dispositivos mviles se ha convertido en algo cotidiano. En la actualidad podemos comunicarnos con cualquier persona, en cualquier momento y desde casi cualquier lugar.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

Existen diversos tipos de dispositivos mviles:

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

En relativamente poco tiempo, los telfonos han recorrido un largo camino. Las tecnologas han mejorado para ofrecer al usuario una amplia gama de prestaciones.
Menor tamao en los dispositivos, mayor duracin de la batera, mayor velocidad de acceso a internet

Gracias a este avance podemos hablar de Computacin Ubicua, formulado por Mark Weiser en 1991.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

La Computacin Ubicua, formulado por Mark Weiser, la defina opuesta a la realidad virtual (poner personas dentro del ordenador para generar mundos), es decir, poner el ordenador dentro del mundo de las personas. La Computacin Ubicua se fundamenta en cuatro paradigmas:
1. 2. 3. 4. Descentralizacin. Diversificacin. Conectividad. Simplicidad.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

1. Descentralizacin.
Se caracteriza por el paso de la era mainframe en la que la potencia estaba centralizada, a la era PC, en la que se define la arquitectura cliente-servidor. Se empieza a hablar de sincronizacin como un aspecto fundamental para mantener los datos actualizados. Se benefici a los proveedores, pues les dio ms flexibilidad para proporcionar servicios.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

2. Diversificacin.
Surge de la necesidad de ofrecer el mismo servicio, pero adaptado a diferentes dispositivos.

3. Conectividad:
Problema: integracin de plataformas. Fue necesaria la definicin de estndares y protocolos, en la que cualquier software se pudiera ejecutar sobre cualquier plataforma y red.
Importantes estndares: WAP (Wireless Access Protocol), UMTS (Universal Mobile Telecommunications System) o BlueTooth (protocolo de comunicacin para redes inalmbricas mediante radiofrecuencia).

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

4. Simplicidad.
Se centra en el diseo de dispositivos con interfaces de usuario intuitivas. Integracin entre el SW y el HW para lograr las necesidades del usuario final, proporcionando un acceso a los datos rpido y de forma sencilla.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.

As pues, con la evolucin de los dispositivos mviles las tendencias son:


Que la Computacin Ubicua pueda ofrecer conectividad en tiempo real 24/7. Que los precios de los dispositivos y planes de datos bajen. Que las infraestructuras de las redes mejore. Que se pueda tener acceso a todo desde cualquier parte de la nube. Que se d una gran explosin en el desarrollo de aplicaciones para dispositivos mviles.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.


Resumen sobre la historia y evolucin de los DM entre los aos 1973 y 2011.

1. Dispositivos Mviles: Tipos, Historia y Evolucin.


Resumen sobre la historia y evolucin de los DM entre los aos 1973 y 2011. (continuacin)

1. Dispositivos Mviles: Tipos, Historia y Evolucin.


Resumen sobre la historia y evolucin de los DM entre los aos 1973 y 2011. (continuacin)

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Aplicaciones mviles NO son aplicaciones de escritorio adaptadas a pantallas y teclados pequeos. Son aplicaciones diferentes por varias razones:
La capacidad para comunicarse desde cualquier lugar cambia la interaccin del usuario con la aplicacin. La interfaz de usuario para una pantalla y teclados pequeos difiere de forma significativa de la interfaz de una aplicacin diseada para un ordenador de sobremesa o un porttil. Los tipos de canales de comunicacin son diferentes, los dispositivos mviles incorporan capacidades de voz, mensajera, informacin de geolocalizacin y vdeo conferencia La naturaleza de las redes inalmbricas, estas pueden variar, dependiendo de la calidad de la seal y de la disponibilidad de conexin de la red.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Limitaciones en la ejecucin de aplicaciones para DM. (i)
Relacionadas principalmente con las caractersticas HW y de conexin, asociadas a cada dispositivo mvil. Se deben evitar la sobrecarga de elementos multimedia, que exijan del dispositivo ciclos de procesamiento demasiado largos. El tamao de la pantalla y la iluminacin factores determinantes. De normal se introducen datos con una sola mano y en movimiento. Hay que facilitar al usuario la entrada de datos por pantalla, a travs de botones de navegacin propios de cada DM, as se podrn realizar varias operaciones en poco tiempo. De normal se paga una tarifa de datos por la cantidad de bytes descargados y no por el tiempo de uso. Habr que mantener al usuario informado de los datos que van a ser descargados y del tiempo de espera. Latencia: El tiempo de espera entre la peticin de los datos y el momento en el que empieza a llegar la respuesta. En DM mayor que un PC.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Limitaciones en la ejecucin de aplicaciones para DM. (ii)
Realizar y/o recibir llamadas tiene la prioridad ms alta. Habr que poder proporcionar el estado en el que se encontraba la aplicacin cuando recibi una llamada, para cuando termine la llamada poder regresar a dicho estado. Debemos tener en cuenta que las conexiones fallan con cierta frecuencia. Los emuladores son tiles, pero tienen mayor procesamiento que el DM. Habr que probarlo cuanto antes sobre el DM para ver posibles fallos.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles.
Clientes nativos:
Se escriben en lenguajes de bajo nivel: C o ensamblador. Principal beneficio: Utiliza al completo todas las caractersticas de un HW determinado. Otro beneficio: ajuste de los bucles, la gestin de memoria y el acceso a los datos para lograr un alto nivel de rendimiento de la aplicacin. Esta potencia y control tiene un precio. Lenguajes de bajo nivel, no son tan productivos. Hay que escribir gran cantidad de cdigo. Utilizar cuando la utilizacin completa del HW y el alto desempeo son primordiales. Si hay que dar soporte a un gran nmero de clientes mviles o el tiempo es clave, esta NO es la mejor opcin.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles.
Clientes JME: (Java Platform Micro Edition)
Se escriben en Java. Se ejecuta en la JVM. Beneficios: Tiempo de desarrollo rpido y posibilidad de reutilizar cdigo. Cantidad de cdigo mucho menor que con C, con lo cual menos errores. Si la aplicacin a desarrollar tiene una interfaz estndar y no requiere acceso especial al HW, entonces Java es una buena opcin.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles.
Clientes basados en web:
Similares a los clientes web estndar excepto porque se debe tener en cuenta el diseo de la pgina. Un cliente basado en web se ejecuta dentro del navegador del dispositivo, utilizando las mismas facilidades que un cliente web de sobremesa. Principal beneficio: Simplifica el mantenimiento del cliente independientemente de que las caractersticas de las versiones cambien. Inconveniente: Las caractersticas, el desempeo y el modelo de conexin. El cliente basado en web es una buena opcin si el cliente software tiene una interfaz de usuario simple, que puede mantener una conexin para realizar trabajo til.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles.
Clientes basados en middleware:
Middleware: SW que ayuda a una aplicacin a interactuar o comunicarse con otras aplicaciones, SW, redes, HW y/o SO. Funciona como una capa de abstraccin de software distribuida, que se sita entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). Principal beneficio: Simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones que son necesarias en los sistemas distribuidos. El middleware abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, as como de los sistemas operativos y lenguajes de programacin, proporcionando una API para la fcil programacin y manejo de aplicaciones distribuidas. Inconveniente: Enfoque potencialmente estrecho de las capacidades y la incapacidad para utilizar funciones HW especializadas sobre los dispositivos. Generan cdigo que no es adecuado para situaciones de alto rendimiento. Muy similar al enfoque JME, pero ms especializado y generalmente construido en torno a las BD de las aplicaciones.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles. Si la aplicacin requiere un alto desempeo o un cdigo para funcionalidades especficas del hardware, una aplicacin nativa ser la mejor opcin. Si el cliente necesita ejecutarse sobre una amplia gama de dispositivos y manipulacin de datos fuera de lnea, el enfoque midleware es el mejor. Si es una aplicacin sencilla en la que la operacin puede depender del estado de conexin, entonces el cliente basado en web es una buena opcin. Finalmente, si la aplicacin requiere una interfaz de usuario especializada o un cdigo del lado cliente especializado, pero no requiere el poder de una aplicacin nativa, entonces, el enfoque JME es una buena opcin.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles.

2. Caractersticas y limitaciones en el desarrollo de aplicaciones para dispositivos mviles.


Enfoques para el desarrollo de aplicaciones mviles. Los proveedores cuentan con centros de desarrollo a disposicin de los usuarios, por tanto es de gran ayuda visitarlos y analizar las sugerencias en cada caso. Algunos de ellos:

3. Tecnologas disponibles.
Principales tecnologas y sistemas operativos para DM que hay actualmente:
ANDROID. BLACKBERRY. SYMBIAN. PALM OS. WINDOWS PHONE. IOS.

Actividad: Comentarlas en clase.

3. Tecnologas disponibles.
ANDROID.
Plataforma formada por un conjunto de SW en estructura de pila que incluye:
Un sistema operativo. SW para conectar aplicaciones (middleware). Aplicaciones base.

El SDK (Kit de Desarrollo de SW) de Android proporciona varias herramientas y API (Interfaz de Programacin de Aplicaciones) que son necesarias para desarrollar aplicaciones Android. Estas aplicaciones se desarrollan en lenguaje Java. Desarrollado por Open Handset Alliance (OHA), una agrupacin de 78 compaas para desarrollar estndares abiertos para dispositivos mviles y que est liderada por Google. Inicialmente desarrollado por Android Inc., que fue comprada en 2005 por Google. El SO se anunci el 5 de noviembre de 2007.

3. Tecnologas disponibles.
ANDROID.
Google libera gran cantidad de cdigo bajo una licencia Apache (licencia libre y de cdigo abierto). Empez la versin 1.0 hasta la actual 4.1 (Jelly Bean). SO con mayor presencia mundialmente, por delante de Symbian y iOS. Presenta varias ventajas:
Cdigo abierto con licencia Apache, cualquier desarrollador a parte de ver el cdigo, puede mejorarlo y ampliarlo. Libertad por parte del usuario para instalar el SW que crea oportuno en su DM sin imponer que sea SW propietario. Libertad de los desarrolladores de desarrollar SW y ofertarlo a los usuarios. No est limitado a determinados proveedores, operadoras o fabricantes, etc.

3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques:

3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques:
Aplicaciones: proporciona un conjunto de aplicaciones de usuario como cliente de correo electrnico y de mensaje de texto SMS, calendario, mapas, navegador, agenda de contactos, etc. Framework de Aplicaciones: conjunto de aplicaciones en forma de servicios y sistemas disponibles al desarrollador que le facilitan aspectos como acceso al hardware del dispositivo, acceso a informacin de localizacin, servicios de background, lanzar alarmas y notificaciones, etc. Alguno de ellos son,
Sistema de Visualizacin (View System), que facilita el desarrollo de aplicaciones con potentes interfaces de usuario. Suministrador de Contenidos (Content Providers), gestiona el acceso a datos entre aplicaciones. Gestor de Fuentes (Resource Manager), gestiona el acceso a fuentes que no son de la aplicacin como imgenes, texto, etc. Gestor de Actividades (Activity Manager), gestiona el ciclo de vida de las aplicaciones, etc.

3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques: (continuacin)
Libreras (Libraries): Android incluye un conjunto de libreras C/C++ que usan otros mdulos del sistema operativo y estn accesibles a los desarrolladores de aplicaciones a travs del Framework de Aplicaciones. Algunas de estas libreras incluyen funcionalidades como la librera estndar de C para dispositivos embebidos Linux (System C library), funcionalidades multimedia para vdeo, audio e imagen (Media Libraries), visualizacin de grficos 2D y 3D (Surface Manager), funcionalidades par optimizar el tratamiento de grficos 3D (3D Libraries), motor de navegacin web que da soporte al navegador web de Android (LibWebCore), motor de base de datos relacional (SQLite), etc.

3. Tecnologas disponibles.
ANDROID.

La arquitectura de SO Android, organizado en 4 grandes bloques: (continuacin)

Entorno de Ejecucin (Android Runtime): el entorno de ejecucin est formado por las libreras del ncleo del sistema operativo (Core Libraries) y por la mquina virtual (Dalvik Virtual Machine). Es el motor que ejecuta los programas. El mdulo Core Libraries proporciona muchas de las funciones disponibles en la librera base de Java as como funciones especficas de Android. La mquina virtual Dalvik se encarga de interpretar el cdigo del programa y de ejecutarlo apoyndose en el Kernel del sistema operativo. Cada aplicacin pone en ejecucin su propio proceso, el cual tiene asociado una instancia propia y exclusiva de la mquina virtual Dalvik. Dalvik ha sido desarrollada de tal forma que puede haber mltiples mquinas virtuales (MV) ejecutndose a la vez en un mismo dispositivo (precisamente sta fue la razn por la que no se utiliz la MV de Java ME, Java Mobile Edition). Dalvik es una mquina virtual basada en registros y ejecuta ficheros de cdigo con un formato especial, denominado Ejecutable Dalvik (ficheros con extensin .dex). Este formato est especialmente pensado para optimizar el uso de la memoria. No obstante, esto no significa que no podamos usar un compilador de Java para desarrollar aplicaciones para esta MV. Dalvik es capaz de ejecutar clases compiladas por un compilador de Java siempre que hayan sido transformadas previamente al formato .dex por herramientas de poscompilacin (dx tools).

3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques: (continuacin)
Linux Kernel: Android se basa en la versin 2.6 de Linux para implementar servicios bases de sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y varios drivers, etc., todos ellos integrados en el Kernel. El Kernel tambin constituye una capa de abstraccin entre el hardware del dispositivo y el resto de los componentes y mdulos de la pila de software del sistema operativo.

3. Tecnologas disponibles.
BLACKBERRY.

Desarrollado por RIM (Research in Motion). Los DM Blackberry destacan por su capacidad de enviar y recibir correo electrnico. Blackberry asuma un 2,9% de los mviles vendidos, y el 11% de los smartphone. Su mayor mercado est en EE.UU. El SO Blackberry OS fue desarrollado por RIM. Sistema propietario. No hay informacin pblica relevante sobre su diseo ni arquitectura. ltima versin Blackberry OS 7.1. Tiene un kernel que se basa en Java. Divide la memoria del dispositivo en 3 secciones:

SO multitarea, es decir, puede ejecutar ms de una aplicacin a la vez.

Memoria de aplicacin: espacio de memoria destinado para albergar aplicaciones. Memoria de dispositivo: espacio para almacenar ficheros y otras fuentes. Memoria para tarjeta: espacio de almacenamiento adicional.

3. Tecnologas disponibles.
SYMBIAN.
Symbian Inc. desarroll el SO base y les vendi la licencia a los distintos fabricantes de telfonos mviles. Estos a su vez construyen interfaces de usuario sobre este SO base y personalizan el sistema para propsitos especficos. Nokia es el que ms ha utilizado este SO. Varias versiones que denomina Series (Serie60, Serie70, ). Sony Ericcson tambin usa Symbian. Al haber muchas combinaciones de SO y UI, tambin hay muchos kits de desarrollo (SDK). Normalmente el entorno de desarrollo viene preparado para estar programado en C o C++ y aporta el emulador de la Serie.

3. Tecnologas disponibles.
PALM OS (webOS).
Desarrollado por la empresa Palm Inc, la cual tuvo gran auge con sus agendas electrnicas o PDA. Comenz su actividad en 1996. SO fcil de usar con pantallas tctiles e interfaces de usuario grficas. Gran evolucin de versiones (desde la 1.0 hasta la 5.0). Luego pas a llamarse Palm OS Cobalt, SO basado en Linux que evolucion para denominarse webOS en 2009. Palm Inc. fue adquirida por HP en 2010. HP utiliza webOS en sus DM y tablets. Diciembre 2011, HP libera el cdigo de webOS y en la actualidad es un sistema de cdigo abierto.

3. Tecnologas disponibles.
WINDOWS PHONE.
Lanzado a finales del ao 2010. Interfaz de usuario Metro, basada en la utilizacin de mosaicos dinmicos que muestran informacin til al usuario. Windows Phone no es un sistema centralizado solamente en aplicaciones sino que se organiza en un nuevo concepto denominado hubs. Los hubs de Windows Phone clasifican acciones y agrupan las aplicaciones que se correspondan con una actividad determinada. Ejemplos: hubs de contactos, imgenes y cmara, Office (menos Outlook), juegos y el Marketplace. Las aplicaciones de terceros se pueden integrar en el hub que corresponda mejorando las funciones de cada hub. Ejemplo: un editor de fotos podra incorporarse al hub de Imgenes y Cmara. Ha evolucionado en poco tiempo, desde la versin 7 hasta la 8.

3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo de HW: Se requieren unas caractersticas mnimas.

3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo SW: Windows Phone se basa en el Windows CE 6.0 R3. Soporta Flash Lite de forma nativa. La Shell y la plataforma de aplicaciones residen en memoria de usuario.

El Kernel, los drivers y el sistema de archivos, networking, el sistema de rendering y grficos y el sistema de actualizaciones, residen en el espacio de Kernel. El sistema es de 32 bits, con lo cual maneja 4 GB de memoria, dos de los cuales son para procesos y los otros dos para el Kernel.

3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo de aplicacin: las aplicaciones en Windows Phone se muestran en forma de paquetes XAP. Este es un archivo comprimido que contiene los recursos originales de la aplicacin que estamos desarrollando. Para instalar hay que hacerlo a travs del Marketplace (tienda oficial de Microsoft).

3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo de IU: La interfaz de usuario est formada por:
Elementos: todo control que se muestra al usuario. Pginas: Una asociacin lgica de elementos. Sesiones: Conjunto de interacciones que realiza un usuario sobre la aplicacin.

3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Ejecucin de aplicaciones: Windows Phone proporciona dos frameworks:
Silverlight: Permite crear aplicaciones multimedia que se ejecuten de forma nativa en Windows Phone. XNA: Es una solucin Multiscreen 2D y 3D que permite crear juegos de calidad profesional. Ambos frameworks se ejecutan sobre sandbox en .NET.

3. Tecnologas disponibles.
WINDOWS PHONE.
Frameworks para Windows Phone: Silverlight

3. Tecnologas disponibles.
IOS.
Evolucin histrica:

3. Tecnologas disponibles.
IOS. La arquitectura iOS se basa en capas, donde las capas ms altas contienen los servicios y las tecnologas indispensables para el desarrollo de aplicaciones y las capas ms bajas son las encargadas de controlar los servicios bsicos.

3. Tecnologas disponibles.
IOS. La arquitectura iOS se basa en capas:
Cocoa Touch: posee 3 frameworks:
UIKit: contiene todas las clases necesarias para el desarrollo de una interfaz de usuario. Foundation Framework: define clases bsicas de acceso, manejo de objetos y Servicios del SO. Estos frameworks proporcionan la API de Cocoa para desarrollar aplicaciones.

3. Tecnologas disponibles.
IOS. La arquitectura iOS se basa en capas: (continuacin)
Media: esta capa proporciona los servicios grficos y multimedia a la capa superior. Core Services: esta capa proporciona los servicios fundamentales del sistema utilizados por todas las aplicaciones. Core OS: en esta capa se encuentran servicios de bajo nivel como los archivos de memoria, manejo de memoria, seguridad y drivers del dispositivo.

3. Tecnologas disponibles.
Sistemas Operativos:

3. Tecnologas disponibles.

Plataformas de desarrollo nativas:

3. Tecnologas disponibles.

Sistemas Operativos:

3. Tecnologas disponibles.

Actividad: Busca qu lenguaje o lenguajes de programacin usa cada Sistema Operativo mencionados anteriormente y define sus caractersticas. Tambin comenta qu IDEs usan. Actividad: Realizar la primera prctica ETSINF.

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Existen gran variedad de lenguajes para el desarrollo de aplicaciones para DM. Blackberry
Se pueden desarrollar dos tipos de aplicaciones para dispositivos Blackberry:
Aplicaciones Web: pensado para usar estndares de web y herramientas como Eclipse o Microsoft Visual Studio. Aplicaciones Java: lenguaje de programacin Java. Se usa el Java ME (Java Micro Edition). Los dispositivos Blackberry estn diseados para ejecutar aplicaciones Java.

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Blackberry
Blackberry proporciona una API de Java que permite desarrollar aplicaciones con la siguientes caractersticas:
Aplicaciones con interfaces de usuario personalizadas. Capacidad de almacenamiento y recuperacin de datos en local en el dispositivo. Escucha y captura de eventos de la interfaz y del sistema. Comunicaciones seguras mediante HTTP y TCP. Cobertura de red y compatibilidad con el modo roaming.

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Blackberry
A la hora de desarrollar aplicaciones para dispositivos Blackberry hay que tener en cuenta algunas cuestiones de diseo:
Tamao de la pantalla pequeo, muestra un nmero limitado de caracteres. Velocidades del procesador algo bajas. Redes inalmbricas tienen periodos de latencia ms largos que las LAN estndar. Poca memoria. Duracin de la batera corta. Slo puede mostrar una pantalla a la vez.

Todas estas consideraciones afectan al diseo y se deben tener en cuenta para cualquier DM.

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Symbian
Entornos de desarrollo para Symbian, principalmente usan el lenguaje C++. Tambin se puede programar en Java Micro Edition.

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Palm OS (webOS)
Han evolucionado. Desde el lenguaje C++ (para los antiguos dispositivos) hasta la programacin HTML5 con JavaScript y CSS (para los nuevos dispositivos webOS y Enyo). Enyo (FrameWork de JavaScript OpenSource) permite desarrollar aplicaciones tanto para DM como para PC y tabletPC. La aplicacin siempre se ejecutar dentro de un navegador web (WebApps).

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Objective-C

Es una extensin orientada a objetos de la sintaxis de programacin C, utilizado en Mac OSx. Es recomendable saber C y C++, Java o C#. En iPhone no existe el recolector de basura, aunque el Objective-C 2.0 incluye, pero iPhone no lo soporta. Tiene elementos comunes con el lenguaje C: sentencias de control (if, for, while, etc.); tipos de datos fundamentales; estructuras y punteros; conversiones explcitas e implcitas entre tipos; etc. Las clases en Objective-C se crean mediante dos archivos: un .h para definirla y un .m para implementarla. Permite crear clases, mtodos y funciones. Destaca por ser un lenguaje dinmico (se puede escribir y ejecutar el cdigo de un programa al mismo tiempo, de hecho no es necesario compilar el programa para ejecutar el cdigo, se puede seleccionar una lnea de cdigo y ejecutarla sin necesidad de compilar todo el programa).

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Lenguajes .NET (Windows Phone)
Plataforma de desarrollo de aplicaciones que se ejecutan en un entorno aislado del SO y que recibe el nombre de runtime. Caractersticas:
Orientada a Objetos. Soporta varios lenguajes. Permite el desarrollo de diferentes modelos de aplicaciones (web, Windows, mviles, etc.) orientadas a diversos dispositivos HW (PC, tablet, etc.). Permite integrar aplicaciones de otras plataformas.

4. Desarrollo de aplicaciones mviles. Lenguajes de programacin.


Lenguajes .NET (Windows Phone)
Soporta gran variedad de lenguajes de programacin pero destacan:
VB .NET: es la evolucin de Visual Basic 6.0. C#: Combina la complejidad de C y la flexibilidad de Java.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Blackberry
Para aplicaciones Java se puede usar:
IDE generales: Eclipse y NetBeans. IDE especfico de Blackberry: JDE (Blackberry Java Development Enviroment).

JDE es un IDE que permite desarrollar y simular aplicaciones Java.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Blackberry
JDE est compuesto de los siguientes componentes:
BlackBerry Integrated Development Environment: el entorno integrado con capacidad de edicin de cdigo, gestin de proyectos, depuracin y traza de programas. BlackBerry Smartphone Simulator: un simulador de telfonos BlackBerry. Permite simular interfaces de usuario y la interaccion del usuario, conexiones de red, servicios de correo electronico y sincronizacion inalambrica de datos. Java ME y API de BlackBerry: los paquetes de la especificacin de Micro Edition de Java y el paquete que contiene la API especfica de BlackBerry para sacarle todo el partido a los dispositivos BlackBerry. Aplicaciones de ejemplo: un conjunto de ejemplos de aplicaciones muy recomendables para iniciarse en el desarrollo de esta tecnologa.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Blackberry
JDE herramientas adicionales:
RAPC: es un compilador de lnea de comando (a ejecutar desde el smbolo del sistema) para compilar archivos .java y .jar en archivos .cod. Los ficheros .cod se ejecutan en BlackBerry Smartphone Simulator o en un dispositivo BlackBerry. JavaLoader: esta herramienta permite agregar o actualizar una aplicacion en un dispositivo BlackBerry. De esta forma se pueden probar los archivos .cod de la aplicacion. BlackBerry Signature Tool: esta utilidad permite enviar solicitudes de firma de codigo a BlackBerry Signing Authority Tool. Herramienta de verificacion previa: permite comprobar parcialmente las clases que se han desarrollado antes de cargar la aplicacin en un dispositivo BlackBerry. JDWP: facilita la depuracin de aplicaciones utilizando entornos de desarrollo integrados de terceros, como Eclipse o Netbeans.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Blackberry

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Blackberry

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Blackberry
Actividad: Instala el IDE de JDE de Blackberry y el IDE Eclipse con el plugin de Blackberry y observa las diferencias entre ambos.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Android El desarrollo de aplicaciones Android se realiza con un grupo de herramientas que son suministradas en el SDK. La utilizacin de este grupo de herramientas puede ser de dos formas:
utilizando un Entorno de Desarrollo Integrado (IDE) en combinacin con un plugin llamado ADT (Android Development Tools) o bien desde la lnea de comandos.

Se puede utilizar cualquier IDE (el ms usado Eclipse). Si se decide prescindir de un IDE se necesita nicamente un editor de texto para escribir el cdigo fuente e invocar las herramientas de compilacin, depuracin, etc., desde la lnea de comandos o mediante scripts.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Android Algunas de las herramientas ms importantes de lnea de comandos son:
Android: crea y actualiza proyectos Android y crea y elimina AVD (Android Virtual Device). Android Emulator: ejecuta aplicaciones en una plataforma Android emulada. Android Debug Bridge: es una interfaz para conectar la aplicacin con un emulador o con un mvil Android. Permite instalar aplicaciones, ejecutar comandos en lnea, etc. Ant: permite compilar y construir proyectos generando el fichero .apk instalable de la aplicacin. Keytool: permite generar una clave privada que se usa para firmar y autenticar el fichero .apk. Esta herramienta forma parte del JDK. Jarsigner: es una herramienta para firmar el fichero .apk con una clave privada generada con la herramienta Keytool. Esta herramienta tambin forma parte del JDK.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Android

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Android Estos pasos bsicos estn agrupados en cuatro etapas:

Instalacin: se instala el entorno de desarrollo completo incluyendo el IDE y el SDK de Android, y se crean AVD (Android Virtual Device). Desarrollo: en esta etapa se crea y desarrolla el proyecto Android, creando el cdigo fuente de la aplicacin y aadiendo todos los ficheros fuentes que pueda necesitar como imgenes o dems recursos. Depuracin y pruebas: en esta etapa, en primer lugar se genera un paquete de depuracin .apk que contiene el proyecto desarrollado en la etapa anterior. Este paquete se puede instalar y arrancar en cualquier emulador o telfono Android. Si se usa Eclipse, cada vez que se guarda el proyecto automticamente se genera el .apk correspondiente. A continuacin se depura la aplicacin usando un depurador JDWP y las herramientas debug del SDK Android. Eclipse proporciona su propio depurador. Por ltimo, se comprueba el correcto funcionamiento de la aplicacin usando varias herramientas del SDK como emuladores y herramientas de traza. Publicacin: en esta ltima etapa se configura y se construye la aplicacin para generarse una versin release (una versin de entrega) para distribuir entre los usuarios.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Android
1. 2. 3. 4. 5. Instalar Eclipse. Instalar el SDK Android. Instalar el Plugin ADT para Eclipse. Configurar el Plugin ADT. Aadir Componentes.

Mirar fotocopias (Pginas 39, 40 y 41 del libro). Prctica Instalar todo lo necesario para desarrollar para Android.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Symbian Gran variedad de IDEs dependiendo el lenguaje de programacin (principales: J2ME y C++) a utilizar. Si usamos J2ME necesitamos el SDK para la serie que queramos programar y un IDE (Eclipse o NetBeans). Si usamos C++ (aplicaciones realmente potentes en Symbian) necesitamos el SDK para la serie que queramos programar y un IDE (Eclipse).

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Palm OS (WebOS) Antiguamente, para Palm OS, se requera el SDK y el compilador gcc. Actualmente, para webOS, se utiliza el entorno Ares, funciona ntegramente dentro de un navegador web. Para usar Ares, hay que entrar y registrarse en su web, http://ares.palm.com. No es necesario instalar nada, slo un navegador y conexin a Internet. Filosofa de Ares: todas las tecnologas se van a construir dentro de la web. Ares ofrece dos vistas: gestin de ficheros y de diseo visual. WebOS tambin nos proporciona un SDK y plugin PDK que permite desarrollar en C++ o en JavaScript aplicaciones para mviles.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Palm OS (WebOS)

Entorno Ares en vista gestin de ficheros.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Palm OS (WebOS)

Entorno Ares con vista de controles y diseo.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Palm OS (WebOS) Actividad: Entra y registrate en su web, http://ares.palm.com. Observa el IDE y sus caractersticas.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Al principio se hacia todo a travs de pginas o proyectos web. Surge la necesidad de controlar y unificar la programacin de las aplicaciones. Ao 2008 se decide crear el SDK de Apple, un conjunto de herramientas y tecnologas de desarrollo para crear aplicaciones para iPhone e iPod Touch. Para obtener el SDK es necesario inscribirse en el iOS Dev Center (el sitio oficial de desarrolladores de Apple). Se puede descargar gratuitamente. Para comercializarla es necesario enviarla al App Store, lo cual requiere registrarse en el programa de desarrolladores de Apple y paga una cuota de 99$. El desarrollador fija el precio de la aplicacin y obtiene el 70% de las ventas realizadas a travs del App Store. Un dispositivo Apple slo ejecuta aplicaciones firmadas por Apple.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Dos aspectos clave a la hora de desarrollar una aplicacin:
Caractersticas del dispositivo, tamao de la pantalla, memoria, etc. No es lo mismo programar para un iPhone que para un Mac. Tipo de aplicacin, iOS permite 3 tipos:
Aplicacin web: se basa en contenido web, se ejecutan en un navegador y no hacen uso de las funcionalidades del dispositivo. Aplicacin nativa: este tipo de aplicacin utiliza las funcionalidades del dispositivo y se instala en el mismo, de modo que para acceder a ella no hace falta conexin/acceso a Internet. Aplicacin hbrida: es posible desarrollar aplicaciones combinando los dos tipos anteriores, de modo que pueda instalarse en el dispositivo y adems requiera de un navegador para utilizarla.

A parte del tipo tambin podemos hablar del estilo (aplicaciones productivas, tiles (el tiempo), de pantalla completa (juegos)).

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Herramientas Xcode. Es un IDE que permite escribir, compilar, ejecutar y depurar el cdigo de la aplicacin que se est desarrollando. Tambin es til para organizar los archivos por proyectos y facilitar su importacin/exportacin. Tambin proporciona un simulador para probar la aplicacin antes de ejecutarla en el dispositivo. Xcode proporciona una serie de plantillas para no empezar desde 0.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Herramientas Xcode.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Interfaz Builder. Permite disear la interfaz grfica de la aplicacin. Es bsicamente una herramienta grfica que trabaja en conjunto con Xcode. Desde la versin 4 de Xcode se puede programar el cdigo y disear la interfaz de la aplicacin en la misma ventana, simplemente arrastrando y soltando elementos como controles o componentes. Los archivos generados con Builder tienen extensin .nib y describen la componente grfica creada. El diseo se puede cargar mediante Cocoa Touch.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Herramientas Builder.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Instruments. Esta herramienta permite analizar el comportamiento de la aplicacin mediante el anlisis de parmetros como:
(i) memoria consumida por la aplicacin, (ii) ancho de banda consumido, (iii) recursos utilizados y energa requerida, (iv) datos acerca de las animaciones o actividad relacionada con archivos y sockets Touch.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Herramientas Instruments.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Herramientas de desarrollo que incluye el SDK:
Emulador. Se explicar mas adelante.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Resumen:
1. Inscribirse en el iOS Dev Center y descarga del SDK. 2. Registrarse como desarrollador de Apple (este paso es necesario solo para desarrolladores que quieran comercializar la aplicacin desarrollada). 3. Elegir el tipo de aplicacin a desarrollar. 4. Utilizar las herramientas de desarrollo para el diseo y puesta a punto de la aplicacin. 5. Probar la aplicacin, utilizando el simulador de iOS y luego sobre el dispositivo de Apple. 6. Distribuir la aplicacin a travs del App Store (una vez obtenida la firma de Apple).

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para IPhone Actividad: Instala y observa el SDK de IPhone SI Y SOLO SI tienes un Mac .

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone Primero necesitamos descargar el SDK, disponible en la web oficial del App HUB: http://create.msdn.com/enus/home/getting_started y que contiene las siguientes herramientas:
Visual Studio 2010 para Windows Phone. versin gratuita y completamente funcional. Desde la ventana principal podremos definir dos tipos de proyectos diferentes, Silverlight para Windows Phone 7.5 o XNA 4.0 para Windows Phone 7.5, en ambos casos utilizando el lenguaje C#.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Visual Studio 2010 para Windows Phone.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Microsoft Expression Blend 4 para Windows Phone. Orientada al diseo de interfaces de usuario. Trabaja en clave con Visual Studio 2010. Se pueden definir animaciones, transiciones o personalizar las plantillas de control, los estilos o plantillas de datos y tambin, podremos enlazar los datos visualmente. Los proyectos que tenemos en Visual Studio 2010 son accesibles desde Expression Blend 4.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Microsoft Expression Blend 4 para Windows Phone.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Application Development Tool. Permite mostrar aplicaciones en formato XAP al emulador o a un dispositivo desbloqueado para desarrollo, con lo cual, podremos probar aplicaciones fuera de Visual Studio. Podemos hacer lo mismo desde Visual Studio, haciendo clic sobre el proyecto y seleccionando la opcin Deploy (Desplegar).

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Application Development Tool.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Developer Registration Tool. Con esta herramienta podremos registrar un dispositivo fsico Windows Phone con nuestra cuenta de desarrollador de Marketplace. De esta manera, el dispositivo quedar desbloqueado para desarrollar, depurar y desplegar aplicaciones en l.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Developer Registration Tool.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Windows Phone Marketplace Test Tool. Esta herramienta permite realizar pruebas automticas y manuales de la aplicacin. Est integrada en Visual Studio 2010. Las opciones de esta herramienta son:
Application Details: carga la iconografa y capturas que vamos a enviar al Marketplace. Automated Test: ejecuta pruebas automticas para comprobar el funcionamiento de la aplicacin. Monitored Test: permite hacer pruebas teniendo en cuenta parmetros especficos como tiempo de arranque, consumo de memoria, etc. Manual Test: proporciona una lista de comprobacin para realizar 50 pruebas de forma manual sobre la aplicacin, marcando aquellas en las que la aplicacin ha fallado.

De esta forma nos aseguramos de que la aplicacin que vamos a mandar al Marketplace funciona correctamente.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone
Windows Phone Marketplace Test Tool.

5. Desarrollo de aplicaciones mviles. Entornos Integrados de Trabajo y Compilacin.


Entorno para Windows Phone Actividad: Instala y observa el SDK para Windows Phone.

6. Desarrollo de aplicaciones mviles. Emuladores.


Los entornos de desarrollo presentados en el apartado anterior, utilizan emuladores para la simulacin de las aplicaciones que desarrollan sin necesidad de utilizar un dispositivo mvil real. Estos emuladores suelen ir integrados en los entornos de desarrollo, y en algunos casos independientemente.

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android
El SDK Android incluye un emulador de dispositivos mviles virtuales. El emulador puede invocar a otras aplicaciones, acceder a red, reproducir audio y vdeo, almacenar y recuperar datos, etc. Proporciona servicios de depuracin y permite realizar prototipos de aplicaciones, desarrollar y testear aplicaciones Android sin necesidad de un dispositivo fsico. El emulador proporciona una ventana en la que se visualiza en ejecucin la aplicacin que se est desarrollando junto con otras aplicaciones Android. El emulador utiliza configuraciones AVD (Android Virtual Device). Un AVD permite definir ciertas caractersticas hardware del telfono a emular. Se pueden crear varias configuraciones para diferentes plataformas Android mediante los AVD.

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android
Un AVD est formado por:
Perfil hardware: define las caractersticas hardware de dispositivos virtuales. Por ejemplo, si el dispositivo tiene cmara, si usa teclado fsico QWERTY, cunta memoria tiene, etc. Mapping del sistema: se puede definir para qu versin de la plataforma Android se ejecutar el emulador. Otras opciones: especifica otras caractersticas del emulador, como la dimensin de la pantalla, la apariencia, si se quiere emular una tarjeta de almacenamiento SD, etc. rea de almacenamiento: es necesario un espacio de almacenamiento de la mquina de desarrollo para almacenar los datos del usuario del emulador (como aplicaciones que instala el usuario en el emulador) y la tarjeta SD emulada.

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android
Lo ms comn integrar y utilizar el emulador desde el IDE. En Eclipse, men Window -> AVD Manager (gestor de dispositivos virtuales). Muestra la lista de dispositivos virtuales que estn instalados en el IDE y diferentes opciones para gestionarlos (aadir nuevos, borrar, editar). Hay que crear dichos dispositivos manualmente, con el botn New del men Window > AVD Manager. En el nuevo cuadro de dilogo que aparece es necesario indicar un nombre y seleccionar el target (la API de la plataforma Android en la que se desarrolla). Tambin configurar algunos aspectos bsicos de hardware (como LCD, tamao de la mquina virtual en el emulador, tamao de la RAM, etc.) y adems puede aadir ms caractersticas hardware al dispositivo virtual y configurarlas mediante el botn New como son pantalla sensible al tacto, teclado, GPS, batera, etc..

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android

Apariencia de un emulador Android.

6. Desarrollo de aplicaciones mviles. Emuladores.


Emuladores para Android
Hay otros emuladores que se pueden independientemente del IDE y ejecutarlos, aplicaciones en los mismos. Ejemplo: Google Android Emulator. descargar instalando

6. Desarrollo de aplicaciones mviles. Emuladores.

Emuladores para Android Actividad: Instalar un emulador de Android en Eclipse, crear un dispositivo virtual de Android e instalar aplicaciones, definir caractersticas, etc. Actividad: Instalar un emulador de Google Android Emulator e instalar aplicaciones, definir caractersticas, etc.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Blackberry Hay varios simuladores BlackBerry disponibles para emular la funcionalidad de varios productos como dispositivos BlackBerry y BlackBerry Enterprise Server. Dentro de los simuladores para dispositivos BlackBerry se pueden encontrar dos principales emuladores: BlackBerry PlayBook Simulators, para desarrollos de aplicaciones para dispositivos PlayBook, y BlackBerry Smartphone Simulators, para dispositivos mviles smartphone. Estos simuladores permiten testear el software, pantallas, teclados, etc. Se puede descargar el programa .exe para Windows, o suele estar integrado en JDE de Blackberry.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Blackberry

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Symbian Cada uno de los entornos de desarrollo suele llevar incorporado su propio emulador o utiliza los que proporcionan los SDK de las diversas series de Symbian. Los emuladores permiten seleccionar las caractersticas del modelo a emular, de esta forma podemos ver como se adapta, sobre todo la interfaz grfica a las diversas resoluciones y tamaos de pantalla de los diferentes dispositivos.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Symbian

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Palm OS (WebOS) Los emuladores actuales para la plataforma webOS van incluidos dentro del entorno de desarrollo SDK, permiten emular diversas configuraciones y resoluciones de pantalla. Se pueden ejecutar desde el propio entorno de desarrollo Ares pero es necesario tener instalado en local el SDK.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Palm OS (WebOS)

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para iPhone El emulador iOS permite comprobar funcionamiento de la aplicacin. Ofrece funcionalidades como:

el

correcto

(i) rotacin, cuando gira el dispositivo la aplicacin rota con l; (ii) cambio de dispositivo, permite comprobar el funcionamiento de la aplicacin tanto en un iPhone como en un iPad; (iii) comprobar el funcionamiento de la aplicacin para diferentes versiones del iOS; (iv) avisos de memoria, permite comprobar el funcionamiento de la aplicacin dependiendo del consumo de recursos.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para iPhone

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Windows Phone El kit de desarrollo de Windows Phone incluye un emulador que nos permitir simular las aplicaciones en condiciones similares a las que encontraremos al ejecutarlas en nuestro dispositivo. Lo podemos lanzar desde el Visual Studio 2010 o desde Inicio> Programas. El emulador nos permitir tambin probar aplicaciones que utilicen sensores (acelermetro) o que dependan de la localizacin.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Windows Phone

Emulador de GPS.

6. Desarrollo de aplicaciones mviles. Emuladores.

Emulador para Windows Phone

Emulador del comportamiento de un acelermetro.

7. Arquitectura J2ME.

J2ME o Java 2 Micro Edition es la versin Java para dispositivos mviles y sistemas de pequeo tamao. J2ME pertenece a la versin 2 de Java que est compuesta por tres ediciones distintas:
Edicin Estndar (J2SE): este es el entorno bsico de Java, est compuesto por las clases bsicas de Java, que nos permiten desarrollar y ejecutar aplicaciones cliente, servidor y applets. Edicin Empresarial (J2EE): es una ampliacin de la edicin anterior y est pensada para el desarrollo de aplicaciones servidor. Edicin Micro (J2ME): es una versin reducida de Java que permite desarrollar aplicaciones para sistemas mviles, empotrados (ej. Tarjeta de vdeo, funciones especficas) y electrnicos de caractersticas especiales.

Las aplicaciones en esta edicin se denominan MIDlets por analoga con los applets.

7. Arquitectura J2ME.

Relacin entre las tres ediciones de Java 2

7. Arquitectura J2ME.

J2ME se divide en 3 partes:


Configuracin: contiene la mquina virtual, normalmente es una versin reducida de la mquina normal de Java, junto con algunas libreras bsicas. A la mquina virtual de la configuracin se la suele llamar KVM, ya que requiere unos pocos Kilobytes para ejecutar el bytecode. Perfil: est desarrollado sobre una configuracin y proporciona un conjunto de libreras tiles para poder desarrollar aplicaciones completas con ellas. Paquetes opcionales: son paquetes especiales que no pueden ser ejecutados en todos los dispositivos, por ejemplo, la API para acceso al mdulo GPS, otro paquete opcional es una API para programacin con grficos 3D. No todos los dispositivos permiten utilizar GPS o grficos 3D.

7. Arquitectura J2ME.

J2ME se divide en 3 partes:

8. Arquitectura J2ME. Configuraciones y Perfiles.

Java presenta dos configuraciones:


CLDC, utilizada en dispositivos mviles. Contiene la configuracin bsica para ejecutar Java en pequeos dispositivos. CDC, pensada para dispositivos con ms recursos como PDA o tablets.

Dentro de estas configuraciones existen versiones.

8. Arquitectura J2ME. Configuraciones y Perfiles.

Los dispositivos donde se ejecuten las aplicaciones con configuracin CLDC deben cumplir las siguientes restricciones:
Disponer de entre 128 KB y 512 KB de memoria ROM o flash donde se almacena la propia mquina virtual y de 32 KB de memoria voltil (se pierde al interrumpirse la energa elctrica) para guardar informacin en tiempo de ejecucin. Procesador de 16 32 bits con al menos 25 MHz de velocidad. Bajo consumo, debido a que suelen estar alimentados por batera. Tener algn tipo de conectividad como Wi-Fi, 3G, etc.

8. Arquitectura J2ME. Configuraciones y Perfiles.

Sobre las configuraciones se definen perfiles. Un perfil es una concrecin todava ms restrictiva de las APIs, que se centra en un conjunto muy limitado de dispositivos (incluso solo uno). O sea, el perfil aade unas APIs que definen las caractersticas propias de un dispositivo, mientras que la configuracin lo hace con una familia de dispositivos. Esto hace que para construir una aplicacin contemos tanto con las APIs del perfil como con las de la configuracin. CLDC es la primera configuracin definida en J2ME. MIDP (de Mobile Information Device Profile, o "Perfil de Dispositivo Mvil de informacin") es el primer perfil, que describe dispositivos similares a telfonos mviles. En el caso de la configuracin CLDC, se definen los perfiles para dispositivos de informacin mvil o MIDP. MIDP nos proporciona un perfil que se apoya en CLDC y que nos va a proporcionar los paquetes y clases necesarios para el desarrollo de nuestras aplicaciones.

8. Arquitectura J2ME. Configuraciones y Perfiles.

Los perfiles estn definidos sobre las siguientes restricciones mnimas:


Pantalla de tamao 96 54, con un solo bit de color y una forma de pxel cuadrada. Entrada por teclado o pantalla tctil. Memoria, 256 KB para el CLDC, 8 KB para guardar datos y 128 KB de memoria voltil para la ejecucin de la aplicacin. Sonido, para reproducir tonos musicales. Conectividad, bidireccional e inalmbrica, con un ancho de banda limitado. Los perfiles MIDP nos permiten definir el ciclo de vida de los MIDlets, construir interfaces de usuario, soporte para la red, juegos, sonido, criptografa, etc.

8. Arquitectura J2ME. Configuraciones y Perfiles.

Para tenerlo bien claro diremos que una configuracin es el conjunto mnimo de APIs Java que permiten desarrollar aplicaciones para un grupo de dispositivos. stas APIs describen las caractersticas bsicas, comunes a todos los dispositivos:
Caractersticas soportadas del lenguaje de programacin Java. Caractersticas soportadas por la Mquina Virtual Java. Bibliotecas bsicas de Java y APIs soportadas.

8. Arquitectura J2ME. Configuraciones y Perfiles.

Un perfil es un conjunto de APIs orientado a un mbito de aplicacin determinado. Los perfiles identifican un grupo de dispositivos por la funcionalidad que proporcionan (electrodomsticos, telfonos mviles, etc.) y el tipo de aplicaciones que se ejecutarn en ellos. Las libreras de la interfaz grfica son un componente muy importante en la definicin de un perfil.

8. Arquitectura J2ME. Configuraciones y Perfiles.

El perfil establece unas APIs que definen las caractersticas de un dispositivo, mientras que la configuracin hace lo propio con una familia de ellos. Esto hace que a la hora de construir una aplicacin se cuente tanto con las APIs del perfil como de la configuracin. Tenemos que tener en cuenta que un perfil siempre se construye sobre una configuracin determinada. De este modo, podemos pensar en un perfil como un conjunto de APIs que dotan a una configuracin de funcionalidad especfica.

8. Arquitectura J2ME. Configuraciones y Perfiles.

Telfonos mviles, organizadores, pagers y otros dispositivos de pequeo tamao tienen diferentes formas, funcionalidades y caractersticas. Sin embargo poseen cantidades de memoria y procesadores similares. Por este motivo surgieron las configuraciones en J2ME. Las configuraciones definen un agrupamiento horizontal de productos basados en la cantidad de memoria disponible y la capacidad de procesamiento de cada dispositivo.

8. Arquitectura J2ME. Configuraciones y Perfiles.

J2ME utiliza los perfiles para definir agrupamientos verticales para los productos en la plataforma Java. A nivel de implementacin, un perfil es un conjunto de APIs que residen sobre una configuracin y permite al programa el acceso a un dispositivo especfico.

9. Arquitectura J2ME. Modelo de estados.

Los MIDlets son aplicaciones que se ejecutan sobre dispositivos mviles. Generalmente son juegos y aplicaciones que corren en un telfono mvil. Est desarrollada bajo la especificacin MIDP. Un midlet ser una aplicacin que puede usar la funcionalidad aportadas por MIDP y por CLDC. Un midlet siempre estar compuesto, al menos, por una clase principal que hereda directamente de la clase javax.microedition.midlet.MIDlet. Como los applets de Java los MIDlets tienen un ciclo de vida como aplicacin cuando estn ejecutndose en un dispositivo mvil.

9. Arquitectura J2ME. Modelo de estados.

Los MIDlets se ejecutan dentro de un entorno proporcionado por el Gestor de Aplicaciones o AMS (Application Management Software). AMS es un programa que adems de guardar las aplicaciones desarrolladas para J2ME contiene la implementacin de la KVM, CLDC y el MIDP. Todos los dispositivos que permiten J2ME tienen un Gestor de Aplicaciones, que suele venir como una aplicacin independiente. El Gestor de Aplicaciones no puede ejecutar los MiDlet directamente, estos deben venir empaquetados en archivos .jar que contienen uno o varios MIDlets as como un archivo .jad que describe cada uno de ellos, indicando nombre, recursos que necesita, fabricante, fecha de creacin, etc. El AMS define el ciclo de vida de los MIDlets, que pasa por 5 fases: localizacin, instalacin, ejecucin, actualizacin y borrado. El MIDP define los tres estados en los que se puede encontrar un MIDlet cuando est en ejecucin: Activo, Pausa y Destruido.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

A continuacin vamos a mostrar paso a paso el desarrollo de la primera aplicacin para mviles en el entorno J2ME con el IDE NetBeans 7.1. Vamos a la opcin de men File > New Project y seleccionamos Java ME como muestra la siguiente figura.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

Hacemos clic sobre el botn Next y a continuacin nos sale la siguiente ventana de dilogo donde vamos a indicarle el nombre del proyecto en el campo de texto Project Name, ah pondremos ProyectoHolaMundo y haremos clic en el botn Next de esta ventana de dilogo.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

La siguiente ventana llamada Default Platform Selection la dejamos tal cual, y hacemos clic en el botn Next de nuevo. Pasamos a la pantalla More Configuration Selection, donde tampoco cambiamos nada y hacemos clic en el botn Finish. A partir de este momento el entorno crear un proyecto funcional pero vaco y con nuestra aplicacin como aplicacin principal, como muestra la siguiente figura.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

Vamos a pulsar sobre la etiqueta Screen y nos aparecer un editor que nos permite cambiar elementos visuales del dispositivo, vamos a cambiar el texto Hello por Hola y Helo World! Por Hola Mundo. Para ello nos vamos a los campos Label y Text del dilogo de propiedades que es el que hay abajo a la derecha llamado Properties.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

Ahora solo falta ejecutar nuestro primer proyecto, para ello solo hay que pulsar la tecla F6 o ir a la opcin de men Run > Run Main Project o hacer clic en el icono verde de Play que hay en la barra de herramientas en el centro superior de la pantalla. En cualquiera de estos casos comenzar a ejecutarse el emulador y nos mostrar nuestra primera aplicacin para mviles. Todo ello sin teclear una sola lnea de cdigo Java.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

10. Arquitectura J2ME. Ciclo de vida de una aplicacin.

Por ltimo, si dispones de un telfono mvil con gestor de aplicaciones para J2ME puede pulsar sobre el proyecto con el botn de la derecha del ratn, seleccionar la opcin Batch Delploy y se generar un archivo llamado ProyectoHolaMundo.jar que puede enviar a su mvil y se instalar automticamente con el gestor de aplicacin y podr ejecutarlo cuando desee.