Clase, objeto, método y más: relaciones con programación móvil
1. Clase, objeto, método, campo, pila, hilo, RAM, ROM, Sandbox, Clase y sistema operativo,
son definiciones que deben ser manejadas para entender la programación de dispositivos
móviles. Explique cuál es la relación entre cada una de estas definiciones y el tema visto
en el curso (Ojo, no es copiar la definición, sino que, a partir de ellas, se explique cómo se
relaciona dicha definición con la programación de dispositivos móviles).
• Existen 2 aspectos fundamentales que crean todo un conjunto de diferencias entre la
CLDC y J2SE. ¿Cuáles son esos aspectos y por qué dan pie a todo un conjunto de
diferencias?
• “Es impracticable la ejecución de una máquina virtual de J2EE en un dispositivo móvil”.
Explique las razones de la veracidad de esta afirmación.
• Interactúa con el simulador del curso llamado “Juego_2_movil.swf” encontrado en el
espacio de “Evidencias 2”. En el momento en que finalices el simulador, toma una captura
de pantalla con la tecla “Imp Pt” de tu computador, y anéxala al documento
“Actividad_2_PDM.
Desarrollo
1. Clase: se relaciona por que el POO el corazón de este tipo de programación es la
clase, y como el lenguaje que estamos utilizando es Java tenemos que este es
para la POO.
Objeto: como consecuencia del inciso anterior tenemos que el objeto es una
instancia de la clase, así que ya está listo y vamos a programar y el pan de cada
día son los objetos…
Pila. Se relaciona con el tema porque la JVM/CLDC también recoge la basura para
optimizar la pila de recursos.
RAM: se relaciona con el tema porque es una gran limitante (por no decir que la
mayor y más importante) a la horas de hablar de recursos para PDM.
ROM: esta memoria de solo lectura también limita la PDM, ya que son menos las
instrucciones predeterminadas en los dispositivos móviles.
SANDBOX: es el método o herramienta con el que se aíslan los procesos, tiene
que ver con la PDM ya que es la forma en que java en sus applets se protege de
2. ataques, lo mismo es la J2ME.
SISTEMA OPERATIVO SO: se relaciona ya que los dispositivos móviles donde
vamos a programar han de tener SO bien sea rudimentario o complejo.
2. Las diferencias entre la CLDC y J2SE se deben a las capacidades que
tienen los dispositivos sobre los cuales trabaja, ya que la CLDC al trabajar en
dispositivos móviles que tienen mayores restricciones que un computador (sobre
los que normalmente se ejecuta J2SE) no tiene las capacidades para compilar
muchas de las funciones de complejidad media y alta que si tiene implementada
J2SE.
Por ejemplo, las operaciones de números de punto flotante, el manejo de errores
y excepciones de J2SE (se crea una clase con un número limitado de
excepciones), el JNI (que le permita a java comunicarse e interactuar con otros
lenguajes o con otros programas java), el cargador de clases definido por el
usuario (para evitar problemas de seguridad), las reflexiones (capacidad de
inspección interna), grupos de hilos (un solo proceso usando varios hilos).
En resumen las dos diferencias entre la configuración CLDC y la J2SE, son la
diferencia en máquinas virtuales y los procesos que puede realizar.
3. Los dispositivos móviles tienen muchas restricciones, sobre todo en memoria, por
lo que sus configuraciones y funcionalidades hansido minimizadas hasta el punto
en que puedan ser implementadas con tan pocos recursos hardware. Con el fin de
cumplir el objetivo descrito anteriormente se crearon para CLDC APIs propias y se
implementaron algunas APIs exclusivas de J2ME en CLDC. Por estas razones
pretender que sobre un dispositivo móvil se ejecuten todas las funcionalidades de
J2EE, simplemente es imposible porque el recurso hardware y software no lo
soportan. Java EE incluye varias especificaciones de API, tales como JDBC, RMI,
e-mail, JMS, Servicios Web, XML, etc y define cómo coordinarlos, estas
especificaciones están muy por encima de las capacidades de un dispositivo
móvil.