javaProgramación de dispositvos móviles con Java
Versión: 2.0, Septiembre, 2006

Autor: Juan Manuel Fernández Luna
Web: http://decsai.ugr.es/~jmfluna, Mail: jmfluna@decsai.ugr.es
Decsai

(C) Dpto. de CCIA
Web: http://decsai.ugr.es

Introducción

En este curso vamos a estudiar la edición de la plataforma Java que Sun Microsystems ha diseñado específicamente para dispositivos móviles y embebidos: Java 2 Micro Edition (J2ME).  Aunque en esta introducción veamos una visión general de J2ME y su entorno, en este curso nos centraremos en el estudio de las herramientas y bibliotecas que ofrece J2ME para la programación de dispositivos específicos como teléfonos móviles y asistentes personales digitales.

La expansión de ordenadores personales en nuestro entorno hace que éstos sean ya una herramienta de trabajo muy necesaria y, por supuesto, de diversión. Hoy en día hay ordenadores en casi todas las casas, hecho originado fundamentalmente por la bajada de los precios de unos años a nuestros días.  Pero cada vez, los ordenadores son más potentes y nos dan muchas más posibilidades,  lo que hace que no sólo estén en el lugar de trabajo y en nuestro hogar, sino que nos los podamos encontrar en cualquier ámbito de nuestra vida: en el coche, en la lavadora, en la televisión,...

La tecnología está haciendo posible que se reduzcan también los tamaños de los ordenadores y que nos los podamos meter en el bolsillo y transportarlos sin dificultad alguna, como es el caso de los asistentes personales digitales (Personal Digital Assistant -PDA). Estos dispositivos son ordenadores con todo el significado de la palabra, pues disponen de capacidad de procesamiento y almacenaje de datos.

Las comunicaciones también han evolucionado velozmente. Ahora podemos bajarnos música de ordenadores situados en Nueva Zelanda en pocos segundos, o escribirnos en tiempo real con nuestro amigo de vacaciones en China desde nuestro ordenador. Pero ya no nos hace falta un cable para comunicarnos, ahora podemos hacerlo fácilmente mediante el aire, por radio, por ejemplo. Y esta tecnología está al alcance de todos: el teléfono móvil, que ya tiene prestaciones de un ordenador.

Por tanto, vemos que la evolución se centra en fabricar aparatos más pequeños, dotándoles de habilidad de comunicación y potencia de cálculo.  Independientemente del tipo de aparato, les requerimos que más o menos nos den las mismas prestaciones en cualquier momento. Pero eso es un problema para los desarrolladores, porque se les pide lo mismo, pero en sitios más pequeños cada vez.

Hasta hace poco, la programación de estos dispositivos se hacía en código máquina o en ensamblador. La razón básica era que se disponía de entornos de ejecución muy restringidos, por lo que el uso de lenguajes de programación de alto nivel era impracticable. Esto implicaba el hecho de tener que desarrollar completamente a medida, es decir, específicamente para el dispositivo, con el consiguiente esfuerzo y lentitud en los desarrollos.

El lenguaje de programación Java permitía escribir un programa una vez y poder ejecutarlo en multitud de ordenadores, con diferentes plataformas sin tener que compilarlo de nuevo. Esa es una gran ventaja y una característica muy deseable en el entorno de los pequeños dispositivos, por lo que se ha exportado esa filosofía a estos aparatos. Así, mediante J2ME se podrán escribir aplicaciones para una gran variedad de dispositivos diferentes.  Por supuesto, esta nueva edición de Java no es la misma que se utiliza para desarrollar aplicaciones distribuidas en Internet, por ejemplo, sino que es una versión reducida que se adapta claramente a las características físicas de los pequeños dispositivos.


Índice

  1. ¿Es Java un lenguaje para programar dispositivos móviles?
  2. Origen y breve descripción de J2ME.
  3. ¿Son J2ME y WAP competidores?
  4. Tipos de dispositivos móviles.
  5. Un vistazo más profundo a la arquitectura J2ME.
  6. Desarrollo de aplicaciones para dispositivos móviles.
  7. Breve revisión de los principales entornos integrados.
  8. Entrega e instalación de MIDlets.
  9. Otras plataformas Java.
  10. Otras alternativas a la programación de dispositivos móviles.
  11. En el resto del curso...
  12. Algunos recuros sobre J2ME en Internet.
  13. Bibliografía.