Aplicaciones Flash de Escritorio con Screenweaver: Integración con Java

Hace unos meses estuve en un proyecto que trataba de integrar Flash con Java para crear algo parecido a una aplicación de escritorio para Windows, que por requerimientos debía acceder a recursos de la máquina como por ejemplo el usuario de la máquina o la fecha de creación de la sesión.

Screenweaver fue de entre los productos investigados existentes en el mercado, el que más atrajo mi atención debido a su facilidad de uso y a su manejo através de un API programable desde el interior de Flash. La aportación de esta herramienta foránea fue una delicia y abre todo un mundo de posibilidades para la creación de todo tipo de aplicaciones de escritorio para Windows.

Una de las tareas era invocar a clases Java desde Flash. Esto es posible con una instrucción del estilo a la siguiente:

swSystem.shellExecute("open", "java.exe", "[paquete.clase]",
    "[path-clases-java]", SW_HIDE, [metodo-flash-a-ejecutar]);

Que como podeis apreciar lo que hace es abrir una máquina virtual de Java(parametros 1 y 2) para ejecutar el código de la clase Java(especificada en el parametro 3 que se encuentra en la ruta del parámetro 4). La JVM es invisible gracias a SW_HIDE(parametro 5). Una vez ejecutada la clase se lanzará un método en Flash(la fúncion de callback del parámetro 6) para indicar el resultado exitoso o no de toda la operación.

Un Ejemplo práctico de esto es el siguiente código:

function onExecute()
{
        swDebug.trace("Clase Java ejecutada!");
}

swSystem.shellExecute("open", "java.exe", "formas.Rectangulo", 
         "C:\\workspace\\clases\\", SW_HIDE, _root.onExecute);

Puntos a tener en cuenta:

  • Nada más empezar colocar la instrucción swInterface.init() para inicializar el API de Screenweaver.
  • No olvidad la doble barra para indicar la ruta de la clase Java.
  • Recordad que los paquetes con las clases deben estar justo a partir del directorio especificado (en este caso la ruta completa sería: C:\\workspace\\clases\\formas\\Rectangulo.class).

A modo de conclusión: Creo que este tipo de funcionalidad o conexión con el Sistema Operativo debería ser tenida en cuenta por Macromedia en futuras versiones de Flash para que el usuario estandar de su producto no tenga que ir a buscar herramientas de terceros como Screenweaver para tener la posibilidad de programar para su SO preferido. Esta podría ser sin duda alguna una mejora bastante importante en un futuro para un Flash 8… ¿No creeis?.

De momento, a disfrutar con Screenweaver.

1 Comentario

Deja un comentario

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