Inicio > Java, JME > JME

JME

8 noviembre 2011
Antes de iniciar es bueno reconocer que Java ME no es la única tecnología thick, en el mercado se puede encontrar muchos más…
Breve Intro:
 
A mediados de los años 90 el lenguaje de programación Java que, aunque en un principio fue diseñado para generar aplicaciones que controlaran electrodomésticos como lavadoras, frigoríficos, etc, debido a su gran robustez e independencia de la plataforma donde se ejecutase el código, desde sus comienzos se utilizó para la creación de componentes interactivos integrados en páginas Web y programación de aplicaciones independientes. Estos componentes se denominaron applets y casi todo el trabajo de los programadores se dedicó al desarrollo de éstos. Con los años, Java ha progresado enormemente en varios ámbitos como servicios HTTP, servidores de aplicaciones, acceso a bases de datos (JDBC)… Como vemos Java se ha ido adaptando a las necesidades tanto de los usuarios como de las empresas ofreciendo soluciones y servicios tanto a unos como a otros. Debido a la explosión tecnológica de estos últimos años Java ha desarrollado soluciones personalizadas para cada ámbito tecnológico. Sun ha agrupado cada uno de esos ámbitos en una edición distinta de su lenguaje Java. Estas ediciones son Java 2 Stantard Edition, orientada al desarrollo de aplicaciones independientes y de applets, Java 2 Enterprise Edition, enfocada al entorno empresarial y Java 2 Micro Edition, orientada a la programación de aplicaciones para pequeños dispositivos.
 
Gracias al éxito que tuvo la empresa Sun Microsystems cuando en Mayo de 1995 lanzando oficialmente Java al mercado el Java Development Kit (JDK) en su versión 1.02., un entorno de desarrollo y una implementación del lenguaje Java,el cual  fue ampliado  y mejorado, subsanando algunos problemas que dan lugar a la versión 1.1. Justamente de ahí se pasa a la siguiente evolución conocida como el SDK 1.2 (Software Development Kit), la cual, entre otras muchas características, incluía una colección nueva de clases y elementos para el diseño de interfaces gráficos. Surgieron seguidamente la versión, SDK 1.3 y, finalmente el actual, el SDK 1.4.

La distinción entre la plataforma Java y las diferentes versiones JDK y SDK. El primero se refiere al lenguaje abstracto y a la especificación del mismo. El segundo es la implementación que ha realizado Sun, así como un conjunto de herramientas que ofrece esta empresa para facilitar el desarrollo de aplicaciones.  Si nos fijamos en la plataforma, sólo ha habido dos versiones principales Java 1 y Java 2.  La segunda se introdujo coincidiendo con la llegada de el SDK 1.2.

A mediados de 1999 Sun Microsystems comienza a desarrollar una versión de Java especialmente diseñada para dispositivos móviles: Java 2 Micro Edition, esta  edición fue presentada con el propósito de habilitar aplicaciones Java para pequeños dispositivos. En esta presentación, lo que realmente se enseñó fue una primera versión de una nueva Java Virtual Machine (JVM) que podía ejecutarse en dispositivos Palm.

Java Micro Edition se considera como la versión del lenguaje Java que está orientada al desarrollo de aplicaciones para dispositivos pequeños con capacidades restringidas tanto en pantalla gráfica, como de procesamiento y memoria (teléfonos móviles, PDA`s, Handhelds, Pagers, etc)., basada en una máquina virtual llamada KVM.  Este primera versión sólo contenía una única máquina virtual y un único API (inicialmente diseñados para Palm OS), hecho que puso de manifiesto la insuficiencia de esta solución para la gran variedad de dispositivos diferentes. De esta forma, en el año 2000, nació la primera versión de una configuración, es decir, el Connected Limited Device Configuration (J2ME CLDC 1.0).  Una configuración ofrece el API básico para programar dispositivos, aunque no aporta todas las clases necesarias para desarrollar una aplicación completa.  Por tanto, la primera configuración no tenía las herramientas necesarias para permitir a los desarrolladores escribir programas para el dispositivo Palm.  En julio de 2000 nació la primera implementación de un perfil, concretamente el llamado Mobile Information Device Profile (MIDP), aunque no estaba destinado a PDAs sino a teléfonos móviles y a paginadores.  A partir de este primer perfil, J2ME fue considerablemente aceptado por la comunidad de desarrolladores de dispositivos móviles, expandiéndose a una gran velocidad hasta nuestros días.

Por tanto, actualmente, la versión 2 de Java de Sun Microsystem contiene tres ediciones distintas:

  • Standard Edition (J2SE): entorno básico de Java. Ofrece un conjunto de clases  y APIs (Application Program Interface – Interfaz para Programas de Aplicación) que permiten desarrollar  y ejecutar aplicaciones clientes y servidoras, así como programas que se ejecuten en navegadores (applets).  Ya está en la calle el J2SE 5.0.
  • Enterprise Edition (J2EE): agrupa APIs Java y tecnologías que no están basadas en este lenguaje. Se aconseja para el desarrollo de aplicaciones distribuidas.
  • Micro Edition (J2ME): específicamente diseñado para desarrollar aplicaciones para dispositivos embebidos y electrónicos, que tienen características peculiares ya que dos ediciones anteriores no son adecuadas para su utilización con ellos. Éstos dispositivos normalmente tienen una potencia limitada, posibilidad de conectividad a una red (normalmente sin cables) y poseen interfaces gráficos.

Algunas diferencias que ofrece J2ME con respecto a J2EE, directamente derivadas de las condiciones en las que se va a hacer uso de esta edición, son las siguientes:

  • Tipos de datos: J2ME no incluye los tipos float y double, ya que la mayoría de los dispositivos CLDC no tienen unidad de coma flotante debido fundamentalmente a que es una operación muy costosa.
  • Preverificación: La verificación del código en J2ME se hace fuera del dispositivo, con objeto de reducir la carga de la máquina.
  • Inclusión de los ficheros “descriptor” y “manifiesto” al empaquetar ficheros J2ME, conteniendo información sobre las aplicaciones que incluyen.
  • Nueva biblioteca gráfica adaptada a los dispositivos con memorias de poco tamaño y pantallas también pequeñas.
  • No existe un método main como entrada para la ejecución de la función. Éste se sustituye por el método “start app”.
  • La recolección de basura se hace de manera manual y no automática como en el J2EE. Esta decisión se toma así para reducir la utilización de la memoria.

Tomado de:
Universidad de Alicante
Como programar aplicaciones en J2ME
Categorías:Java, JME
A %d blogueros les gusta esto: