Martes, 7 de Noviembre de 2006
Programar para PalmOS en Java utilizando herramientas libres
Como ya vimos en un post anterior, existe la posibilidad de desarrollar programas para nuestras Palm escribiendo en lenguaje C, utilizando sólo herramientas libres y gratuitas. Pero como bien recuerda Josemar en un comentario de dicha entrada, no debemos olvidarnos de otro gran lenguaje: Java.
Gracias a la máquina virtual Java desarrollada por IBM, el WebSphere Everyplace Micro Environment, cualquier MIDlet de JavaME programado para MIDP 2.0 se ejecutará sin problemas en una Palm. Para los que no hayan programado usando J2ME (Micro Edition), sólo tienen que pensar en ello como una versión reducida de J2SE (Standard Edition), optimizada para dispositivos móviles.
Sin embargo, esta máquina es gratuita para ciertos equipos, pero de pago para los demás. Incluso hay equipos no soportados. Así que si queremos una opción realmente libre para ejecutar programas en Java en nuestra Palm, tenemos otra opción: SuperWaba. Hay una introducción a SuperWaba muy bien explicada en PDAExpertos:
SuperWaba es una plataforma para la programación de dispositivos pequeños. (de ahora en adelante PDA’s).Define un lenguaje, una máquina virtual, un formato de ficheros .class y un conjunto de clases base. SuperWabadesciende de Waba y es compatible con esta. Se puede decir que SuperWaba es Waba pero más desarrollada. Debido al método en que ha sido diseñado, los programadores pueden usar herramientas de desarrollo orientadas a JAVA para crear programas que se ejecuten en SuperWaba.
La sintaxis de los programas escritos para SuperWaba es un subconjunto del lenguaje JAVA, lo que permite que los desarrolladores que esten familiarizados con JAVA puedan comenzar rápidamente a utilizar el SuperWaba. El formato de los ficheros clase (.class) de SuperWaba son también subconjuntos del formatoJAVA. Sin embargo SuperWaba no deriva de JAVA ni tiene que ver con Sun Microsystems.
El lenguaje definido por SuperWaba, su máquina virtual y el formato de los ficheros clase han sido diseñados de forma tal que sean óptimos para su uso en PDAs. Las características de JAVA que usaban mucha memoria o que eran innecesarias para los PDAs han sido omitidas en el diseño del lenguaje y su máquina virtual.
SuperWaba posee un conjunto de clases base diseñadas para ser lo más pequeñas posible y aun así contener las funcionalidades necesarias para escribir programas profesionales. Contiene también un conjunto de clases que permiten que los programas escritos en este lenguaje puedan ejecutarse en cualquier plataforma que interprete el JAVA. Por ejemplolos programas escritos en este lenguaje pueden ejecutarse en una PalmPilot e Ipaq como Applets, o como aplicaciones independientes en UNIX, WINDOWS, MS-DOS e incluso en una calculadora TI.

Programas escritos en SuperWaba para Palm
La documentación de SuperWaba es muy completa, y la lista de hardware soportado bastante amplia. En esta página puede encontrarse ayuda para instalar SuperWaba en MacOSX y Linux. Como dicen en la introducción, el paso de la API de Java a la de SuperWaba es equivalente al que ocurre al pasar a J2ME, así que no hay realmente un esfuerzo extra que hacer.
Existía una tercera máquina virtual Java para PalmOS, desarrollada por la propia Sun Microsystems. Sin embargo, aunque aún se pueden encontrar las instrucciones de instalación, la página de descarga ya no existe, lo que hace pensar que este software ha sido descontinuado. Sin embargo, en otras páginas (por ejemplo en Softonic) aún es posible encontrarla.
Así que ya sabemos dos maneras y media de ejecutar aplicaciones Java en nuestra Palm. Y como desarrolladores, tenemos la gran ventaja de poder utilizar el mismo entorno de programación que se utiliza para el desarrollo de aplicaciones Java estándar:
- Uno de los mejores IDE para desarrollo en Java es sin duda Eclipse. Y podemos utilizarlo perfectamente para desarrollar programas con J2ME simplemente utilizando el plugin EclipseME. Si por el contrario queremos utilizar SuperWaba tampoco hay problema: existe el proyecto SuperWaba IDE que añade funciones al entorno que facilitan su uso, y para hacer que Eclipse utillize el SuperWaba SDK sólo hay que seguir estas instrucciones.
- Otro IDE muy valorado es por supuesto NetBeans, y para desarrollar aplicaciones que utilicen J2ME sólo tenemos que instalar el añadido llamado J2ME MIDP Development. También hay opción de utilizar SuperWaba, siguiendo este detallado tutorial en español.
- Por supuesto, hay muchas otras herramientas de Sun que merece la pena probar, como el Sun Java Wireless Toolkit for CLDC, o el Sun Java Toolkit for CDC.
- Y si preferimos una solución comercial por el motivo que sea, existen opciones tan variadas como Mobile Studio de Borland, Simplicity for PalmOS, o la Workplace Client Technology, Micro Edition de IBM, que facilita la extensión de aplicaciones gestionadas desde un servidor central a las PDA.
- Por último, para las tareas de depuración, existen muchos documentos en Internet que pueden sernos de ayuda, como éste de Palm sobre depurar programas utilizando una conexión de red, o un tutorial de uso del Java Wire Debug Protocol. La propia Palm nos brinda la posibilidad de utilizar el simulador de PalmOS conjuntamente con un runtime de J2ME para este simulador. Esta documentación y muchos otros recursos interesantes se pueden encontrar en la propia página de Palm dedicada a Java, tanto para desarrolladores como para usuarios.
Como vemos el desarrollo de aplicaciones Java para dispositivos móviles está en pleno auge, y nuestra Palm puede aprovechar todo este software existente. Teniendo en cuenta que el nuevo sistema operativo ALP que sustituirá a PalmOS tiene la posibilidad desde el comienzo de ejecutar aplicaciones nativas de ALP, las de PalmOS, y las escritas en Java, esta vía de desarrollo parece tener un futuro muy prometedor también en los futuros equipos de Palm.
Por: Marcos González Troyas en Análisis Palm
RSS comentarios | Trackback |
Imprimir este post
Artículos relacionados
| Compártelo: |




































Para ampliar la información de java sobre palm, reciéntemente salió la noticia que Motorola pretende construir una implementación libre de Java ME en colaboración con la Fundación Apache.
Sin duda una excelente noticia.
Saludos y a probar superwaba
Es una lástima que no se aprovechen mucho las capacidades de JAVA en PalmOS. Hay muy pocas aplicaciones MIDP que se ejecuten sin problemas, por no decir MIDP2, que prácticamente no funciona ninguna
He probado SuperWaba y hay que decir que está bastante bien, es muy cómodo desarrollar pequeños programas para PalmOS.
Sin embargo, para cosas un poco más “serias”, la combinación de la máquina virtual de IBM y tu IDE favorito (NetBeans en mi caso) son las más eficientes -sobre todo para depurar-
Por otro lado, me quito el sombrero ante Opera, por desarrollar una de las aplicaciones JAVA, -a mi entender- más complejas de la plataforma: Opera Mini
Pues lo siento pero yo no puedo compartir vuestra alegría hacía Java en PalmOS. Todas las aplicaciones que he probado hasta ahora sobre la máquina de IBM en mi TX han tenido más o menos problemas, incluyendo el mencionado Opera, que no hacía más que colgarse.
Pues igual el Opera no me ha funcionado muy bien a mi, y eso que cada que sale actualización lo pruebo para ver si me va mejor, pero nanai… en fin, Java promete mucho, eso es cierto
A mi ninguna aplicacion java me ha funcionado bien pense que era solo a mi pero veo que no ni siquiera el Opera que segun dicen es muy estable en fin a ver cuando sale algo mas estable.
No penséis que es problema de JAVA ni de la JVM, es problema de que no se tienen muchas cosas en cuenta a la hora de programar una aplicación con MIDP/MIDP2 para PalmOS.
La pantalla de Palm requiere una configuración más exclusiva (pues no es lo habitual en un móvil por ejemplo), mejor control de eventos, falta de widgets… son tantas cosas a tener en cuenta y MIDP es “tan general” que quizás resulte insuficiente para nuestra plataforma.
Yo tengo Opera en mi Treo 650 y aunque me haya cascado un par de veces, no lo hace tanto como el Blazer… Comprobad la dbCache, el tamaño máximo del heap de JAVA etc…
Por cierto, Sun va a anunciar muy pronto que Java será liberado bajo licencia GPL
Oigan, estoy interesado en instalar el superwaba en la Lifedrive, pero no veo cómo descargarla, alguien me puede echar la mano?
Aca hay algo de info para desarrollar con
SuperWaba!
Excelente iniciativa Mauricio
hoooooooooolaaaaaaaaaaaa! tengo una LifeDrive y he intentado de todo pero no puedo instalar juegos o aplicaciones java (.jar) en mi equipo, alguien sabe la solucion?.
este es mi email: Linares_0852@hotmail.com, si alguien sabe algo porfa ayudenme, y ademas tengo una cantidad innumerable de programas y juegos para palm, si alguien esta interesado escribanme para solicitarmelos que con gusto se los envio por email…! gracias, salu2.-
ese IBM o cualesquiera de esos sirven para correr juegos java ????? por favor respuestta inmediata agradeceria,,,,enviar mensaje a johnnyky22@gmail.com por favor……
los juegos java son juegos para moviles comunes,,, gracias salu2
Por que me sale el error (falta la vm de java de ibm asegúrese de que esta instalada la ibm`s websphare micro environment java vm) que puedo hacer ayúdenme por favor