Proyecto DJ Java: ejecuta componentes nativos Linux en Java

«Any sufficiently advanced technology is indistinguishable from magic.» Arthur C. Clarke.
(«Cualquier tecnología lo suficientemente avanzada es indistinguible de la magia.»)

Eso es lo que he sentido al ver «The DJ Project», un proyecto Java bajo licencia LGPL que permite integrar componentes nativos Linux en aplicaciones Java Swing. Traducido al castellano y con un ejemplo: puedes integrar el plugin de Flash en una aplicación Java Swing y controlarlo por programación desde Java. Puedes enviar desde Java parámetros a funciones Flash y viceversa. Puedes usar el plugin VLC, o el navegador Mozilla desde una aplicación Swing. Y todo ello funcionando en Linux sin problemas… o en Windows! (en MacOSX… tal vez, no tengo constancia de que no se pueda, pero tampoco de que sea posible en este sistema operativo).

La instalación es un poco compleja, dado que primero hay que tener XulRunner instalado:

sh-3.2$ xulrunner -v
Mozilla XULRunner 1.8.1.4_0000000000

Una vez hecho esto, hay que asegurarse de tener Java 1.6 y una versión moderna, no vale el update 2 o 3, sino que al menos, ha de ser el 5:

java version "1.6.0_10-beta"
Java(TM) SE Runtime Environment (build 1.6.0_10-beta-b25)
Java HotSpot(TM) Client VM (build 11.0-b12, mixed mode, sharing)

Para lanzar la aplicación de demostración de DJ Java lo más sencillo es hacerlo a partir de la demo en formato Java Web Start, pero primero hay que indicar dónde tenemos instalados los plugins de Firefox (el plugin de Flash, por ejemplo):

$ export MOZ_PLUGIN_PATH=/usr/lib/firefox/plugins/

Ahora sí, podemos lanzar la aplicación de mostración:

$ ./javaws http://djproject.sourceforge.net/ns/DJNativeSwingDemo.jnlp

Las posibilidades que abre esta librería para el desarrollo de aplicaciones multimedia son impresionantes…

Un comentario en «Proyecto DJ Java: ejecuta componentes nativos Linux en Java»

Responder a serroba Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.