Dispositivos Moviles
Que son?
Es un aparato portable, con cierta capacidad de procesamiento y memoria, que tiene un acceso relativo a una red y cuyo propósito es el de comunicar principalmente, aunque puede tener algún otro propósito.
Ejemplo

Celulares
Ipods
Iphones
Blackberrys
Ipad
Características Generales
* Son portables, que pueden llevarse de manera cómoda
* Son para comunicarnos, porque para estos dispositivos es posible conectarse a una red, sea de datos, o de telefonía, de manera permanente o intermitente.
* Capacidad de procesamiento de información en el tiempo (al menos la que se envía y se recibe de la red),
* Capacidad de almacenamiento de la misma (sino, no sería posible su procesamiento en el tiempo.
* Prestan servicios diferentes al de la Comunicación.
Clases de dispositivos móviles
Dispositivo móvil de datos limitados
Son aquellos dispositivos que son pequeños y que poseen una pantalla tipo texto (sin gráficas, monocromática).
Dispositivo móvil de datos básico
Dispositivos con una pantalla mediana, y con la posibilidad de navegar a través de un cursor por un menú visualizado en la pantalla.
Dispositivos móviles de datos mejorados
Son aquellos dispositivos que poseen las mismas funcionalidades que el básico, pero poseen un sistema operativo autónomo y aplicaciones complejas como “office móvil”, entre otros.

Caracteristicas de los Dispositivos Moviles del Mercado
Actualmente son Robustos; diversas funciones:
a. Lectura de código de barras,
b. Procesamiento de texto,
c. Almacenamiento de datos,
d. Reconocimiento facial,
e. Lectura de mail, e incluso,
f. Posibilidad de escoger diversas redes para transmitir sus datos.
Sin embargo, las características de dichos productos pueden reducirse a un conjunto determinado de estructuras que permiten prestar los servicios anteriormente mencionados.
a. Pantalla.
b. Teclas.
c. Conexión a red.
d. Memoria.
e. Capacidad de procesamiento.
Plataformas usadas en los dispositivos móviles
Existen 2 grandes plataformas para programar aplicaciones en dispositivos móviles.
Una desarrollada por Windows, se hace llamar “.NET framework” y permite la escritura del código fuente del programa en diversos lenguajes de programación, que luego mediante el mismo framework, es traducido en un código intermedio que será, finalmente, el que se ejecutará en el procesador del dispositivo móvil.
Otra desarrollada por Sun Mycrosystems. La segunda plataforma, se hace llamar “J2ME”, y es una pequeña porción del lenguaje JAVA, dirigida a dispositivos con limitada capacidad de memoria y procesamiento, como lo son los dispositivos móviles.
Freeware Versus Licencias
¿Por qué JAVA y no .NET para programación?
JAVA es gratis
.NET, primero debe escribirse en un lenguaje de programación como Visual Basic, C#, J#, o cualquier otro. Pero para usarlo en el framework, debemos hacerlo a través de programas licenciados, como los incluidos en el paquete de Visual Studio.
Terminos Java Mobile Edition
IOS
Es un sistema operativo para móviles desarrollado y distribuido por Apple Inc. Originalmente lanzado en 2007 para el iPhone y el iPod Touch, se ha ampliado para soportar otros dispositivos de Apple como el iPad y Apple TV.
Android
Android es un Linux basado en sistema operativo para dispositivos móviles como teléfonos inteligentes y Tablet PC. Es desarrollado por la Open Handset Alliance, liderada por Google y otras empresas.
KVM, CVM
La CVM (Compact Virtual Machine) es la Máquina Virtual Java de referencia para la configuración CDC y soporta las mismas características que la Máquina Virtual de J2SE
La máquina virtual de K (KVM) es una máquina virtual desarrollada por Sun Microsystems (ahora propiedad de Oracle Corporation), derivado de la máquina virtual de Java de especificaciones.
Fundation Profile
Fundación perfil es un conjunto de APIs Java que apoyan con recursos limitados dispositivos sin necesidad de un sistema basado en estándares interfaz gráfica de usuario.
PDA Profile
El perfil es similar a la PDA MIDP, pero está destinada a PDAs que tienen mejores pantallas y más memoria que los teléfonos celulares.
MID Profile

Este perfil se suma una red, componentes de la interfaz de usuario, y el almacenamiento local para CLDC. Este perfil está dirigido principalmente a la pantalla limitada y las instalaciones de almacenamiento de los teléfonos móviles
CDC, CLDC
El Connected Device Configuration (CDC) HotSpot La implementación es un totalmente compatible, máquina virtual Java que está muy optimizado para dispositivos con recursos limitados, tales como productos de consumo y dispositivos embebidos.

El Connected Limited Device Configuration ( CLDC ) es una especificación de un marco de Java ME aplicaciones que describen el conjunto básico de las bibliotecas y las características de la máquina virtual que deben estar presentes en una implementación.
AMS
La función de Inicio de aplicación (llamada por aplicación o sistema operativo principal)
OTA

Desde la perspectiva del cliente móvil, en concepto de OTA es simplemente una cuestión de encontrar una interesante aplicación en la Web y el inicio de su descarga a través de la red inalámbrica.
Midlet
Midlet es un programa en lenguaje de programación Java para dispositivos embedidos (se dedican a una sola actividad)
Sandbox

Una medida de seguridad en el Java entorno de desarrollo. El Sandbox es un conjunto de reglas que se utilizan cuando se crea un subprograma que impide ciertas funciones cuando el applet es enviado como parte de una página Web.
Threads

Subtopic
JNI
Java TM Native Interface (JNI) es una interfaz de programación estándar para la escritura de Java y la incorporación de métodos nativos de Java TM máquina virtual * en aplicaciones nativas.
JAR, JAD
Un archivo JAR (por sus siglas en inglés, Java ARchive) es un tipo de archivo que permite ejecutar aplicaciones escritas en el lenguaje Java.

Jad (Java Decompiler) es un momento sin mantenimiento descompilador para Java el lenguaje de programación.
JFC
Java Foundation Classes (JFC, en castellano Clases Base Java) son un framework gráfico para construir interfaces gráficas de usuario portables basadas en Java. JFC se compone de Abstract Window Toolkit (AWT), Swing y Java 2D.
JME
La plataforma Java Micro Edition (Java ME), o anteriormente Java 2 Micro Edition (J2ME), es una especificación de un subconjunto de la plataforma Java orientada a proveer una colección certificada de APIs de desarrollo de software para dispositivos con recursos restringidos.
WAP, GSM, GPRS, UTMS, EDGE, 3G, 4G
WAP (Wireless Application Protocol), dicho de una forma rápida, es un protocolo estandarizado para transferir datos en Internet sobre una red Wireless.
GSM El sistema global para las comunicaciones móviles (GSM, proviene del francés groupe spécial mobile) es un sistema estándar, libre de regalías, de telefonía móvil digital.

GPRS General Packet Radio Service (GPRS) o servicio general de paquetes vía radio es una extensión del Sistema Global para Comunicaciones Móviles (Global System for Mobile Communications o GSM) para la transmisión de datos no conmutada (o por paquetes).

UTMS Sistema universal de telecomunicaciones móviles (Universal Mobile Telecommunications System o UMTS) es una de las tecnologías usadas por los móviles de tercera generación, sucesora de GSM
EDGE es el acrónimo para Enhanced Data rates for GSM of Evolution (Tasas de Datos Mejoradas para la evolución de GSM). También conocida como EGPRS (Enhanced GPRS).
3G es la abreviación de tercera generación de transmisión de voz y datos a través de telefonía móvil mediante UMTS (Universal Mobile Telecommunications System o servicio universal de telecomunicaciones móviles).

4GEn telecomunicaciones, 4G (también conocida como 4-G) son las siglas utilizadas para referirse a la cuarta generación de tecnologías de telefonía móvil. Es el sucesor de las tecnologías 2G y 3G.
PLATAFORMAS DE JAVA

JAVA es un lenguaje de programación lanzado por la empresa Sun Microsystems a inicios de los años 90 para controlar de manera robusta electrodomésticos, ya que era independiente de que plataforma ejecutara el código.
Es así como han aparecido 3 versiones que, si bien usan el mismo lenguaje, no se dirigen a los mismos fines. Dichas versiones son:
Java 2 Enterprise edition (J2EE): Software dirigido al entorno empresarial
Java 2 Standar edition (J2SE): Es la edición original de JAVA, dirigida principalmente a computadores de uso personal
Java 2 Micro edition (J2ME): Esta es la versión de JAVA diseñada para ser ejecutada en pequeños dispositivos con limitadas capacidades de memoria y de procesamiento
Una máquina virtual
En java, la máquina virtual es llamada “Java virtual machine” o JVM
Ventajas:
Independencia de la plataforma.
Tamaño, las JVM tienen tamaños diferentes, porque algunas soportan unas bibliotecas y otras no.
La máquina virtual típica de JAVA mide unos 20Mbytes, lo cual es muy grande para muchos dispositivos.
SUN creó su máquina más pequeña para dispositivos muy limitados, llamada la KVM. La “K” viene de “Kilobyte”, pues esta máquina pesa alrededor de 40-80 K.
Su tamaño la hace muy portable, rápida y pequeña, pero al mismo tiempo, limita bastante algunas características del lenguaje.