Unidad 5 Topicos Avanzados de Programacion
Unidad 5 Topicos Avanzados de Programacion
Unidad 5
UNIDAD 5: PROGRAMACIN DE DISPOSITIVOS MVILES.
5.1. Introduccin.
Cada da son ms los usuarios de dispositivos mviles, lo que ha convertido estos dispositivos en
una parte esencial de la vida cotidiana de las personas, debido a las mejoras tanto en la posibilidad
de acceso como en el desarrollo de software. Los sistemas operativos y las aplicaciones de los
dispositivos mviles han estado en constante desarrollo, pero Sun Mycrosystems da un paso
adelante dentro de su tecnologa Java, J2ME (Java 2 Micro Edition) que es una coleccin de
funciones y procedimientos que ofrece una biblioteca para ser utilizada en los desarrollos de
software. Esta librera est desarrollada en java y est orientada a productos de consumo como
PDAs, telfonos mviles o electrodomsticos.
El mercado de las aplicaciones para mviles ha cambiado de una forma radical en los ltimos dos
aos. Al principio, para publicar aplicaciones mviles tenas que disponer del apoyo de una
operadora o de una gran firma de juegos, pero con la aparicin de los markets de aplicaciones,
esto ha cambiado y cualquier persona puede publicar su app y empezar a ganar dinero. Si ests
empezando en esto del desarrollo de aplicaciones para mviles, puede que esta entrada te resulte
til, porque vamos a intentar tratar en ella los aspectos fundamentales para comenzar a crear tus
propias aplicaciones.
Antes que nada debes plantearte en que plataformas te quieres especializar, a modo orientativo, a
continuacin te mostramos una grfica con el volumen de mercado de las diferentes plataformas:
5.2. Dispositivos mviles.
Un dispositivo mvil se puede definir como un aparato de pequeo tamao, con algunas
capacidades de procesamiento, con conexin permanente o intermitente a una red, con memoria
limitada, que ha sido diseado especficamente para una funcin, pero que puede llevar a cabo
otras funciones ms generales. De acuerdo con esta definicin existen multitud de dispositivos
mviles, desde los reproductores de audio porttiles hasta los navegadores GPS, pasando por los
telfonos mviles, los PDAs o los Tablet PCs.
Dispositivo mvil (mobile device), tambin conocido como computadora de bolsillo o computadora
de mano (palmtop o handheld), es un tipo de computadora de tamao pequeo, con capacidades
de procesamiento, con conexin a Internet , con memoria, diseado especficamente para una
funcin, pero que pueden llevar a cabo otras funciones ms generales.
Algunos estudios muestran que alrededor de 9% de las aplicaciones "de buena reputacin"
instaladas en los dispositivos mviles interactan con sitios web "de muy mala reputacin" sin que
el portador del dispositivo se percate de ello. Entre los sitios de mala reputacin se incluyen
portadores de virus (9%), sitios conocidos por manejar informacin robada (15%), sitios da baja
calidad segn las evaluaciones de los usuarios (73%) y sitios de contenido no apto para menores
(74%).2 Esos estudios recomiendan instalar nicamente las aplicaciones indispensables en los
dispositivos.
5.3. Clasificacin y aplicaciones de los dispositivos mviles.
Dado el variado nmero de niveles de funcionalidad asociado con dispositivos mviles, era
necesario hacer una clasificacin de los mismos, por ello en el 2005, T38 y DuPont Global Mobility
Innovation Team propusieron los siguientes estndares para la definicin de dispositivos mviles.
Telfonos mviles clsicos. Se caracterizan por tener un pantalla pequea de tipo texto. Ofrecen
servicios de datos generalmente limitados a SMS y acceso WAP.
Se caracterizan por tener una pantalla de mediano tamao, men o navegacin basada en iconos,
y ofrecer acceso a emails, lista de direcciones, SMS, y, en algunos casos, un navegador web
bsico. Un tpico ejemplo de este tipo de dispositivos son los telfonos inteligentes
(smartphones).
Se caracterizan por tener pantallas de medianas a grandes (por encima de los 240x120 pixels),
navegacin de tipo stylus, y que ofrecen las mismas caractersticas que el "Dispositivo Mvil de
Datos Bsicos" (Basic Data Mobile Devices) ms aplicaciones nativas como aplicaciones de
Microsoft Office Mobile (Word, Excel, PowerPoint) y aplicaciones corporativas usuales, en versin
mvil, como Sap, portales intranet, etc. Este tipo de dispositivos incluyen los S.O. como Windows
Mobile.
Tales como como el iPod, PlayStation Portable, Nintendo 3DS entre otros. Estos dispositivos tienen
el principal propsito de entretenimiento, (especialmente por medio de videojuegos), pero tienen
como objetivo apoyar fcilmente el uso de otros medios de entretenimiento, como el escuchar
msica o incluso pueden tener servicio de comunicaciones.
En el cual entran telfonos mviles, telfonos fijos, PDAs, Blackberries, entre otros. y muchos ms
dispositivos en un futuro. Estos dispositivos que permiten al usuario comunicarse con otras
personas a travs de voz, texto, y otros mtodos.
Estos son los relojes, iPods, Gameboys, cajeros automticos, etc. Estos dispositivos se centran en
ofrecer una experiencia especfica para el usuario, y si tiene funciones adicionales, los elementos
son muy secundarios. Por ejemplo, un iPod tiene un calendario en ella, pero de ningn modo
interfiere con el uso del dispositivo como un reproductor de msica.
5.4. Ambientes de las aplicaciones.
Entre los sistemas operativos para dispositivos mviles se tienen: Symbian Os, Android,
Linux,Windows Mobile, Blackberry Os, iPhoneOs, Palm Os.
Entre los lenguajes de programacin utilizados para escribir programas para dispositivos mviles
se tienen:
C#, utilizado en Pdas y Telfonos Inteligentes familia Microsoft. J2ME, de gran aceptacin y
difusin, pionero en el entorno mvil. C, utilizado en varios dispositivos mviles.
Podemos deducir que el uso de uno u otro S.O determinarn las capacidades multimedia de los
dispositivos, y la forma de stas de interactuar con el usuario. Existen multitud de opciones, si bien
las ms extendidas son Symbian, BlackBerry OS, Windows Mobile, y recientemente iPhone OS y el
sistema mvil de Google, Android, adems por supuesto de los dispositivos con sistema operativo
Linux.
Symbian.
Este es el sistema operativo para mviles ms extendido entre smartphones, y portanto el que
ms aplicaciones para su sistema tiene desarrolladas. Actualmente Symbian ocupa ms del 65%
del mercado de sistemas operativos.
Su principal virtud es la capacidad que tiene el sistema para adaptar e integrar todo tipo de
aplicaciones. Admite la integracin de aplicaciones y, como sistema operativo, ofrece las rutinas,
los protocolos de comunicacin, el control de archivos
y los servicios para el correcto funcionamiento de estas aplicaciones. La tecnologa del sistema
operativo Symbian se ha diseado teniendo en cuenta puntos clave como el poder proporcionar la
energa, memoria y gestin de entrada y salida de recursos requeridos especficamente en los
dispositivos mviles. Tambin, supone una plataforma abierta, sta es la clave, que ana
telecomunicaciones y los estndares globales de internet.
Windows Mobile.
Microsoft lanz su propio Windows para mviles, antes conocido como Windows CE o Pocket PC,
tiene una larga historia como segundn en el campo de los PDA u ordenadores de bolsillo, sin
embargo hace pocos meses super por primera vez al hasta entonces lder, Palm OS.
Windows Mobile es un sistema operativo escrito desde 0 y que hace uso de algunas convenciones
de la interfaz de usuario del Windows de siempre.
Una de las ventajas de Windows Mobile sobre sus competidores es que los programadores pueden
desarrollar aplicaciones para mviles utilizando los mismos lenguajes y entornos que emplean con
Windows para PC. En comparacin, las aplicaciones para Symbian necesitan ms esfuerzo de
desarrollo, aunque tambin estn optimizadas para cada modelo de telfono.
Android.
Android es un sistema operativo mvil de google basado en Linux y Java que ha sido liberado bajo
la licencia Apache.
iPhone OS.
iPhone OS es una versin reducida de Mac OS X optimizada para los procesadores ARM. Aunque
oficialmente no se puede instalar ninguna aplicacin que no est firmada por Apple ya existen
formas de hacerlo, la va oficial forma parte del iPhone Developer Program (de pago) y hay que
descargar el SKD que es
gratuito. iPhone dispone de un interfaz de usuario realmente interesante amigable con el usuario.
Blackberry OS.
Este sistema operativo incorpora mltiples aplicaciones y programas que convierten a los
dispositivos en completos organizadores de bolsillo con funciones de calendario, libreta de
direcciones, bloc de notas, lista de tareas, entre otras.
Linux.
Aunque no acaba de despegar porque existen multitud de versiones, ya cuenta con ms del 5% del
mercado. De hecho, Android se basa en Linux.
Palm OS.
Convertido en el autntico lder del mercado desde su aparicin en 1996, comenz a ceder
protagonismo con la llegada del nuevo siglo, hasta que en 2003 el fabricante se vio en la
necesidad de dividirse y la plataforma pas a formar parte de la empresa denominada PalmSource
japonesa Access.
5.5. Protocolo de Interfaz entre aplicaciones.
La evolucin del uso de la Internet, combinada con el desarrollo de las telecomunicaciones, est
abriendo mltiples posibilidades a un mundo interconectado en que las personas cada vez
demandan nuevas formas de conexin y a travs de equipos que van ms all de los
computadores. Esto est haciendo que se demanden formas de conexin para los cuales los
protocolos TCP y TCP/IP ya no son suficientemente adecuados. De ah que se debe pensar en el
desarrollo de nuevos protocolos, los cuales permitan la conectividad a la
Existe ya una red que permite la integracin de voz y datos y que es conocida como GSM (Global
System for Mobil Communications) Sistema Global para comunicaciones Mviles.
La red GSM est basada en el protocolo de Aplicacin Inalmbrica (WAP) Wireless Application
Protocol, protocolo que ha sido diseado para permitir la transmisin de informacin interactiva a
dispositivos mviles.
El Protocolo WAP define un conjunto de especificaciones para las capas de: transporte, seguridad,
sesin y servicios comunes. Utilizando este concepto, se permite a la capa de transporte del
protocolo adaptarse a las caractersticas especficas de la red, y a la vez, lograr una compatibilidad
total gracias al uso de compuertas de interface.
La Capa de Sesin, define un mecanismo comn de intercambio de datos al cual pueden
agregarse protocolos de capa de sesin ms especializados. Las aplicaciones externas tambin
tienen acceso directo a las capas de sesin y transporte, pero no se prev acceso directo de stas
a la capa de seguridad.
La estructura y las aplicaciones pueden ser utilizadas sobre telfonos celulares comunes con
pantalla de una sola lnea, sobre dispositivos del tipo PDA (Personal Digital Assistant) Asistentes
Digitales Personales sobre computadores de mano (Hand Held PCs)
Otra caracterstica importante del Protocolo WAP es que ha sido diseada para adaptarse a
transportes futuros como el servicio GPRS (General Packet Radio Service) Servicio de Radio
General por Paquetes.
La aparicin de GPRS y ms tarde de UMTS ha supuesto un fuerte impulso para el empleo de los
dispositivos mviles como elementos de cmputo en sistemas distribuidos.
Las redes de comunicacin mvil son ahora cada vez ms abiertas con el objetivo de facilitar el
despliegue de los servicios y aplicaciones, ofreciendo nuevas oportunidades a terceras partes
como desarrolladores y proveedores de contenidos para participar en este mercado. En este
nuevo escenario es necesario disponer de mecanismos que garanticen la calidad del servicio
recibido por los usuarios finales.
Paralelamente al desarrollo de nuevos servicios orientados especficamente al entorno mvil como
POC (Push to talk Over Cellular), actualmente existe una tendencia a migrar a los terminales
mviles las aplicaciones tradicionalmente usadas en los ordenadores de escritorio, motivado
principalmente por la necesidad que tienen los usuarios de estar comunicados en todo momento.
Sin embargo estas aplicaciones han sido diseadas y probadas para funcionar en un entorno que
difiere mucho del presente en los sistemas de comunicaciones mviles. Un ejemplo claro de esto
es la variabilidad de las condiciones de propagacin radio y los efectos que se derivan del aumento
de usuarios conectados a una red GPRS, como el balanceado de carga.
5.6. Programacin de telfonos mviles y PDA.
Un Midlet es una aplicacin diseada en java para ser ejecutada en un dispositivo mvil del perfil
MID(Movile Information Device). Es una clase que tiene que hereda atributos de la clase abstracta
MIDlet la cual se encuentra en el paquete javax.microedition.midlet.
La clase Midlet posee tres mtodos abstractos que toda aplicacin debe implementar, estos
mtodos definen el ciclo de vida de un Midlet.
Pausado: Estado "en espera" pauseApp() en el que el MIDlet mantiene los mnimos recursos
posibles, entrando en l cuando se crea (antes de ejecutarse su mtodo startApp()) o tras llamarlo
desde el mtodo startApp().
Adems, la plataforma puede pasar el MIDlet a este estado si as lo estima oportuno (por ejemplo,
ante una llamada telefnica).
Activado: Estado de ejecucin del MIDlet al que se pasa tras ejecutar su mtodo
startApp(), tanto inicialmente o como despus de la recuperacin de una pausa.
Destruido: Los dos estados anteriores pueden pasar a ste y de l ya no se podr salir. Es el
estado donde el MIDlet concluye su actividad, pasando a l por medio de la invocacin de su
mtodo destroyApp() o, por ejemplo, ante alguna excepcin que se produzca en el constructor del
MIDlet.
Creacin de un MIDLET.
Para crear la primera aplicacin mvil se inicia el software Netbeans y se va a Archivo / Proyecto
Nuevo que brinda acceso a un asistente que permite seleccionar el tipo de desarrollo a ser
implementado, seleccionndose en este
caso JAVA ME / Mobile Application. Luego el asistente, permite seleccionar un nombre para el
proyecto, una ubicacin de almacenamiento y la posibilidad de crear una aplicacin ejemplo
llamada Hola Midlet. Seguidamente, aparece la configuracin del dispositivo mvil de las funciones
y libreras que soporta, si no se tiene un dispositivo mvil especfico para el cual se va a hacer el
desarrollo se selecciona Device Configuration CLDC-1.1 y MIDP-2.0 que es el ms general y
abarca una gran cantidad de estos dispositivos. Cuando se hace clic en terminar, es el fin del
asistente y automticamente se crea una nueva carpeta dentro de Mis Documentos llamada
NetBeansProjects, ah van a ir guardados los proyectos realizados en NetBeans.
1. Java,Developers Reference.
Cohn, Mike; Morgan, Bryan; T. Nygard Michael; Joshi, Dan; Trinko, Tom. Sams.net (1 Editorial)
1996.
2. Tutorial de Java.
Agustn Froufe. Universidad de Sevilla.