Como todos sabemos Java se inició como lenguaje de programación a mediados de la década de los 90 en el siglo pasado, fue creado como un lenguaje para programar aparatos electrónicos con capacidad de conectividad a partir de otro dispositivo del tipo de un PDA (Personal Digital Assistant – Asistente Personal Digital) teniendo como objetivo principal la fiabilidad, seguridad y dar la posibilidad de poder escribir una vez el programa y que se pueda ejecutar en diferentes tipos de aparatos sin necesidad de volver a compilarlo.

En Mayo de 1995, Sun quien ahora pertenece a Oracle lanzó oficialmente Java al mercado con el Development Kit (JDK) en su versión 1.02, este JDK fue mejorado dando paso a la versión 1.1 luego paso a la siguiente el SDK 1.2 (Software Development Kit), surgieron seguidamente la versión SDK 1.3 y el SDK 1.4 no olvidemos que el JDK se refiere al lenguaje abstracto y a la especificación del mismo y el SDK es un conjunto de herramientas. Ya que solo existen dos versiones principales: Java 1 y Java 2 con sus ediciones J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) y J2ME (Java 2 Micro Edition).

En 1999 se desarrollo J2ME una de las tres ediciones distintas de la versión 2 de Java la cual esta específicamente diseñada para desarrollar aplicaciones para los dispositivos móviles, estos dispositivos normalmente tienen una potencia limitada, posibilidad de conectividad a una red y poseen interfaces gráficos.

J2ME está basada en una máquina virtual llamada KVM (Kilobyte virtual machine) la cual presenta dos configuraciones CLDC (Connected Limited Device Configuration – configuración limitada de dispositivos conectados) y CDC (configuración de dispositivos conectados).

CLDC es la más pequeña de las dos ya que esta designada para dispositivos con conexiones de red intermitentes un procesador lento y una memoria limitada, está asociado a lo que se conoce como Java inalámbrico (Wireless Java) es decir, que tengan la posibilidad de que teléfonos móviles puedan descargarse aplicaciones Java, Mientras que CDC está desarrollado para dispositivos con mas memoria, procesadores mas rápidos y un ancho de banda mayor, esta configuración incluye una maquina virtual completa y un subconjunto de J2SE mayor.

Java es elegido para desarrollar aplicaciones en dispositivos móviles porque da la posibilidad de escribir una vez el programa y poder ejecutarlo en cualquier tipo de plataforma sin tener que recompilarlo de nuevo WORA (Write Once, Run Anywhere – escríbelo una vez y ejecutarlo en cualquier lugar) pero también hay otras razones por las cuales se elige Java para desarrollar estas aplicaciones entre ellas tenemos:

Extensión dinámica que es la habilidad de un programa Java para descargar código en tiempo de ejecución, buscando nuevos ficheros de clases sustituyendo las ya existentes o simplemente añadiendo a las aplicaciones.

Seguridad, Java ofrece un entorno de ejecución seguro para programas con acceso a  red. La maquina virtual de java lleva una verificación estricta del código antes de la ejecución asegurando que este no trate de saltarse las protecciones impuestas por el lenguaje.

Portabilidad, cada dispositivo dispone de un hardware con características diferentes que hacen difícil encontrar un conjunto de bibliotecas que permitan desarrollar programas un poco  independientes del soporte físico.

Fiabilidad, Java es un lenguaje seguro en cuanto a que no se pone fácilmente en manos de hackers y bueno para cumplir este objetivo requiere la obligación de estructuración del código en paquetes, fuertes verificaciones de compilación y ejecución, dispone de un mecanismo eficiente para la gestión de excepciones y de memoria.

Código Reutilizable gracias a la orientación a objetos de java.

Cabe recalcar que J2ME y WAP (Wireless Application Protocol) no son competidores como muchas personas piensan podemos darnos cuenta fácilmente que esta creencia es errónea con solo prestar atención a las definiciones de cada una de ellas. WAP es un protocolo de comunicaciones diseñado para permitir que dispositivos wireless con pantallas pequeñas y conexiones de baja velocidad puedan acceder a internet y aplicación de intranets, mientras que J2ME como ya sabemos es una tecnología que permite desarrollar aplicaciones genéricas para este tipo de dispositivos. Por lo tanto vemos que son cosas muy diferentes las cuales no pueden competir entre sí, incluso son tecnologías complementarias pues expanden el uso de las aplicaciones que disponen de posibilidad de acceso a  redes sin cable.

Deja un comentario


Ir a la barra de herramientas