Post on 11-Apr-2017
Desarrollo de aplicacionesMóviles en Java
J2ME J2ME (Java 2 Micro Edition)
Versión del lenguaje java orientada al desarrollo de aplicaciones para dispositivos pequeños, con capacidades restringidas tanto graficas como de almacenamiento y procesador
Arquitectura de J2ME
Componentes de J2ME Una Máquina Virtual (CVM - KVM) de
reducido tamaño que ejecuta el "bytecode" de las clases java
Conjuntos de Clases básicas, llamadas Configuraciones, orientadas a conformar el corazón de las implementaciones para dispositivos de características específicas
Librerías Java, llamadas Perfiles, orientadas a implementar funcionalidades de más alto nivel para familias específicas de dispositivos
Maquinas Virtuales KVM (Kilobyte Virtual Machine)
Una máquina virtual Java cuyo tamaño se mide en unos cientos de Kbytes
La más pequeña de las desarrolladas por Sun
No soporta operaciones en coma flotante ni finalización de objetos
Maquinas Virtuales CVM (Compact Virtual
Machine) Es la MV de referencia para la
configuración CDC Dispositivos con mayores
capacidades
Configuraciones En J2ME una configuración define la
plataforma mínima Java para una determinada familia de dispositivos con similares requerimientos de memoria y capacidad de proceso
Una Configuración combina la máquina virtual (KVM o CVM) con un conjunto de APIs apropiadas para una amplia categoría de dispositivos
Configuraciones CLDC CLDC Connected Limited Device
Configuration Orientada a dispositivos con grandes
limitaciones 128K ROM (mínimo) y 32K RAM (mínimo)
Procesador de 16 o 32 bit con al menos 25 MHz de velocidad
Capacidades gráficas muy restringidas No existe soporte para operaciones en punto
flotante
Configuraciones CLDC Utiliza 37 clases que provienen de los
paquetes: java.lang java.io java.util
Clases específicas de CLDC (red) javax.microedition.io
Configuraciones CDC CDC Connected Device
Configuration Orientada a dispositivos de mayores
capacidades de procesamiento y memoria Procesador de 32 bits. Disponer de 2 Mb o más de memoria
total, incluyendo memoria RAM
Configuraciones CDC Librerias incluidas:
java.io java.lang java.math java.net java.security java.text java.util javax.microedition.io
Perfiles Un conjunto de APIs de Java que
añadidas a una configuración conforman una plataforma completa para un tipo específico de dispositivo
Permiten el acceso a funcionalidades específicas de los dispositivos
Perfiles Foundation Profile (FP)
Construido sobre CDC Memoria > 1024K ROM y > 512K RAM Complementa CDC en el nivel mas basico Para dispositivos que carecen de interfaz
grafico No incluye interfaz de usuario
Perfiles Personal Profile (PP)
Complemento de Foundation Profile Orientado a dispositivos con interfaz
grafica Añade un interfaz de usuario Permite ejecución de applets
Perfiles RMI Profile
Permite comunicacion entre dispositivos
PDA Profile Desarrollado sobre CLDC Orientado a PDAs tipo Palm
Perfiles Mobile Information Device Profile
(MIDP) Desarrollado sobre CLDC Diseñado para teléfonos moviles y PDAs Aplicaciones se llaman MIDlets Incluye interfaz de usuario Perfil mas usado en la programacion de
dispositivos moviles
Otras Plataformas JAVA Javacard
Entorno de desarrollo para tarjetas inteligentes EmbeddedJava
Orientado a dispositivos como computadores de automóviles, maquinas de ventas.
PersonalJava Versión reducida de la JVM 1.1 y de APIs de JDK
1.1 Absorbida por J2ME
Otras Maquinas Virtuales Java
Insignia's Jeode JVM Mas utilizada Basada en CDC y CLDC Creada para Pocket PC y PDAs Windows CE , PocketPC, Linux Versión Comercial
Otras Maquinas Virtuales Java IBM WebSphere Studio
Orientada a desarrollar aplicaciones para Teléfonos y PDAs
Basada en CLDC y MIDP IBM's J9 VM
Orientada a PocketPC y PDAs Basada en MV de J2ME y las
configuraciones CDC y CLDC
Otras Maquinas Virtuales Java SuperWaba
No es realmente una MV Java Propia MV y clases. Sintaxis subconjunto de Java. Gratis.
Ventajas Personal Java sobre J2ME Transición mucho mas clara y rápida desde
J2SE. Real acceso al hardware de los dispositivos, no
existe una “sandbox”
Desventajas Personal Java esta basado sobre JDK 1.1 A la fecha, SUN no ha desarrollado una JVM
para Pocket PC que soporte J2ME
Conclusiones
Situación Actual Personal Java: End Of Live Announcement Mayoría celulares actuales soportan J2ME
(excepción serie P Sonny Ericson) Personal Profile/CDC debería ser el sucesor
de Personal Java, pero aun no se encuentra implementado.
Conclusiones
Otras alternativas a Java Utilizar implementaciones alternativas de
Java: Escasa adhesión Desarrollar en C# utilizando .Net Compact
Framework Desarrollo nativo de operaciones: Microsoft
Embedded C++
Conclusiones