![]() Versión: 2.0, Septiembre, 2006 Juan Manuel Fernández Luna Web: http://decsai.ugr.es/~jmfluna, Mail: jmfluna@decsai.ugr.es |
![]() ![]() ![]() (C) Decsai Web: http://decsai.ugr.es |
Java comenzó su andadura como
lenguaje de programación a mediados de la década de los
noventa del siglo pasado. Originalmente fue concebido como un lenguaje
para poder programar un amplio rango de aparatos electrónicos
con
capacidades de conectividad a partir de otro dispositivo del tipo de un
asistente personal digital. El espíritu inicial era
realizar una adaptación de C++, tomando lo mejor de él y
a
la vez mejorándolo y que se adecuara a las restrictivas
condiciones ofrecidas por los chips de los aparatos a programar,
teniendo como principales objetivos la fiabilidad y la seguridad.
Además, se intentaba que una vez que fuera desarrollado el
programa, éste se pudiera ejecutar en varios tipos diferentes de
aparatos sin necesidad de volver a compilarlo.
Con la llegada de Internet y los
primeros navegadores para la World Wide Web, los desarrolladores de
Java
se dieron cuenta de su aplicabilidad a este nuevo medio, naciendo
así la tecnología de los applets de Java, que permite, de
nuevo, poder desarrollar una aplicación una única vez y
ejecutarla tantas veces cómo se desee en un conjunto
heterogéneo de ordenadores conectados a la Red.
Así, en Mayo de 1995 Sun
lanzó oficialmente Java al mercado con el Java Development Kit (JDK) en su
versión 1.02., es decir, un entorno de desarrollo y una
implementación del lenguaje Java. Este JDK fue
ampliado y mejorado (se subsanaron algunos problemas), dando
lugar
a la versión 1.1. De ahí se pasó a la siguiente,
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 y actual, el SDK
1.4.
Cabe destacar en este punto 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. Los segundos son, como ya hemos dicho,
implementaciones 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.
Y finalmente, ya en 1999, se vuelve a
cerrar el ciclo que lleva a Sun a desarrollar una versión de
Java
especialmente diseñada para dispositivos móviles: Java 2 Micro Edition, 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:
En la siguiente ilustración
podemos ver gráficamente la relación entre cada una de
las
ediciones de Java y los tipos de dispositivos con que se podrían
programar:
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