Este blog está orientado a toda la gente que quiera ver y participar en temas de ing. de software, TI, redes y otras áreas de la computación.

jueves, febrero 02, 2006

Características de CLDC

Voy a extenderme en esta configuración porque es la que se usa para hacer aplicaciones para teléfonos celulares. Recuerden que mis primeros pininos en dispositivos móviles van a ser en mi cel así que por eso la atención especial a esta configuración.


Los dispositivos que encajan en CLDC tienen las siguientes características:

  • 160Kb y 512Kb de memorial total disponible.
  • Procesador de 16 bits ó 32 bits.
  • Poco manejo de energía y el uso constante de una batería.
  • Conexión a una red, casi siempre inalámbrica y con ancho de banda limitada.



Como podemos ver en la figura de abajo(1), CLDC se compone de las bibliotecas de CLDC, el Kilobyte Java Machina (KVM) y el lenguaje de programación Java.


El lenguaje de programación Java.
¿Ya ven como insisto en estudiar bien toda la arquitectura detrás de un lenguaje de programación? Pues aquí les va otra buena razón para hacer esto…
Debido a que el ambiente en el que corren las aplicaciones con configuración CLDC es muy limitada, hay cosas de Java que no son soportadas. Esto es que hay cosas que si puedes hacer normalmente en ambientes como J2SE y J2EE pero NO en J2ME y con la conf. CLDC. ¿Ven? Si no sabemos esto podríamos estar utilizando erróneamente el lenguaje de programación Java y se nos haría muy difícil saber porque en unas plataformas sirve y en otras no.
Estos son las principales cosas que NO puedes hacer en Java para configuración CLDC:

  • No hay soporte de tipo flotante. Esto es porque la cantidad requerida para este tipo de variables es muy alta.
  • No hay método finalize(). Ningún objeto debe esperar limpiarse antes de ser eliminado.
  • Hay limitaciones al trabajar con manejo de errores. El manejo de excepciones esta totalmente soportado pero el de errores si esta limitado.



JVM.
En CLDC el Java Virtual Machina se cambio a Kilobiye Virtual Machina. Esto es porque es una versón mas reducida de la original para poder encajar con el hardware de los dispositivos móviles. Sus limitantes principales son:

  • No hay soporte para Java Native Interface (JNI) es decir, no puedes escribir en otro código que no sea Java.
  • No soporta clases cargadoras a nivel java definidas por el usuario.
  • No soporta reflexión.
  • No hay soporte para referencias débiles.

Bibliotecas Java.
J2SE y J2EE contienen muchas bibliotecas que le otorgan al programador clases, métodos, funciones, etc. que puede usar y ahorrar tiempo de codificación y mas importante, evitar reinventar la rueda. En J2ME, no es posible poner todas estas bibliotecas así solamente un mínimo de bibliotecas están disponibles para el usuario.

Con esto podemos entender las características principales de CLDC y ahora podemos escoger el perfil para el dispositivo que quiero hacer mi aplicación. Mis siguientes publicaciones hablarán del perfil MIDP 2.0

¡Hasta pronto!

    (1) bibliografia: http://www.cs.helsinki.fi/u/campa/teaching/j2me/papers/J2ME.pdf

    2 Comments:

    Blogger Carlos Madrigal said...

    Wow. Me encanta tu estilo de escribir. Siendo un fanático del español me gusta que empleas el tiempo para revisarte tu gramática y ortografía.

    Me llama la atención que KVM no soporte JNI. ¿Cómo entonces se le hacen disponibles funcionalidades especificas de cada dispositivo al lenguaje?

    A lo mejor es una pregunta tonta. Me hubiera imaginado que JNI te iba a servir para hacer aquel código que te permitiera usar la funcionalidad "Wachu" con la que cuenta el celular más nuevo. Sin JNI, entonces ¿cómo le hacemos?

    5:00 PM

     
    Blogger Alfonso Flores said...

    Pregunta 1: La KVM funciona igual que la JVM, de la PC?

    Pregunta 2: Que tipo de limitaciones existen con el manejo de errores?

    Estoy tratando de entender todo este show, asi es que no se me enoje si le pregunto tanto jajaja.

    8:48 AM

     

    Publicar un comentario en la entrada

    << Home