Vía The server side encuentro una noticia sobre la última versión de la librería AjaxSwing (2.3). Lo que nos proponen la gente de CreamTec sigue la linea de GWT pero, como ellos mismos dicen, con algunos matices.
La característica principal es que, en tiempo de ejecución, se pueden convertir aplicaciones Swing en paginas HTML y código Javascript. Esto representa una gran ventaja ya que, en teoría, todas las aplicaciones cliente desarrolladas hasta el momento se podrían convertir en aplicaciones Web. Bueno, todos sabemos que este tipo de afirmaciones hay que tomárselas con calma.
Como estas cosas tengo que verlas con mis propios ojos y no me valen las demos, he invertido unas horas de mi vida en desplegar y probar el framework.
Antes de nada hay que comprobar que en la maquina está instalado Java (como mínimo en la versión 1.4).
El framework se encuentra disponible para su descarga, previo registro, en este enlace. Existen dos opciones de descarga: Windows Installer (siguiente, siguiente, …) y Zip (framework disponible para varias plataformas). En este post me voy a centrar en la opción fácil, Windows Installer. Importante: la ruta hacia el directorio de instalación no debe contener espacios. Por ejemplo, C:\Archivos de programa\AjaxSwing\ no es válida. Yo lo he instalado en el directorio (AJAXSWING_HOME) por defecto: C:\AjaxSwing2.3.0
Una vez realizada la instalación hay que lanzar la consola de administración… Inicio->Programas->AjaxSwing2.3.0->AjaxSwing Console y, una vez arrancada esta, hacer lo propio con el servidor Web (Tomcat). Para ello se pulsa en el botón «Start Server».
Desde ese momento tendremos un servidor Tomcat ejecutándose y esperando peticiones en el puerto 8040. Y esta es una de las primeras cosas que me ha sorprendido, incluye un Tomcat listo para funcionar. Sin complicaciones y sin necesidad de estar configurando un servidor para que utilice AjaxSwing. Por cierto, en AJAXSWING_HOME\tomcat\ se encuentra la estructura de directorios de Tomcat, de tal forma que en webapps se pueden desplegar todas las aplicaciones web que se deseen. Por supuesto, se puede cambiar el puerto 8040 por el clásico 8080 de Tomcat modificando el fichero de configuración. Los firewall no dejan pasar una.
De momento sólo se ha instalado AjaxSwing y se ha iniciado la consola y el Tomcat. Todavía falta «transformar» nuestras aplicaciones GUI en aplicaciones Web. En el siguiente fichero se encuentra la aplicación que voy a utilizar, ajaxswinggui.jar.
En la consola de AjaxSwing se lanza el asistente de configuración de la nueva aplicación Web que se generará a partir de la GUI. Para ello se pulsa el botón «App Wizard».
La primera de las pestañas nos solicita el nombre de la nueva aplicación. Se selecciona «New Application» y se introduce el texto «AjaxSwingGUI».
La segunda de las pestañas nos solicita: el nombre de la clase que contiene el main (AjaxSwingGUI) y el fichero .jar que contiene la aplicación.
La tercera, y última, nos pide que seleccionemos si se quiere compartir la maquina virtual entre peticiones o utilizar una por petición (esta opción es la recomendable en entornos de producción). Se deja «InProcess in shared JVM».
Se pulsa en finalizar y nos pide confirmación para guardar el fichero de propiedades y probar la aplicación. A mi no me ha cargado la aplicación a la primera (al terminar el asistente). He tenido que ir al menú de la consola y seleccionar View->AjaxSwingGUI.
Bueno, hasta aqui la primera entrada de este pequeño tutorial sobre AjaxSwing. En la siguiente pondré como añadir AjaxSwing a un servidor Tomcat ya instalado y, cuando vuelva a la Universidad, probaré conexiones con bases de datos, uso en entorno real y temas de seguridad.
P.D.: prometo una entrada sobre Google Web Toolkit en cuanto finalice la serie «AjaxSwing» 🙂
febrero 18th, 2009 18:14
Si que lo he probado en varios ordenadores, incluso lo he probado en ubuntu.
febrero 18th, 2009 18:17
Pues sí el jar se ejecuta sin ningún problema y has seguido los pasos de los dos post… poco más puedo decirte.
Si quieres me puedes enviar el jar pero no te lo podré mirar hasta dentro de unos días.
febrero 19th, 2009 12:06
Me parece que el problema es con el JFrame, este fin de semana me lo miro y te digo.
Gracias de todas formas
febrero 20th, 2009 12:06
Buenas,
El problema era con
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
que el progrma no lo admite, lo he solucionado añadiendo 1 listener,
WindowListener listener = new FrameListener();
frame.addWindowListener(listener);
Lo que la conversión no me la hace muy bien, si me dices como puedo contactar contigo te lo enviaré y me dices.
Gracias
febrero 20th, 2009 12:37
Tengo pendiente poner un formulario de contacto :).
Puedes contactar a traves del correo «info» de este dominio.
Un saludo,
febrero 24th, 2009 11:38
Buenas Miguel,
Has recibido mi correo? Una última cosa, a parte de AjaxSwing y GWT, conoces alguna aplicación que convierta java a web?
Un saludo
marzo 19th, 2009 22:34
Hola Jordi,
Desconozco si existe otra.
Si encuentras alguna me lo puedes decir??
Un saludo,
agosto 14th, 2011 20:45
Hola Miguel he provado algunos ejemplos que continen un JProgressBar y no se por que razon no funciona no se si me pudieras ayudar a resolver el problema
gracias..
saludos
agosto 15th, 2011 1:11
Hola,
Hace un par de años que no toco AjaxSwing… en cualquier caso pregunta por si te puedo ayudar.
Un saludo
agosto 18th, 2012 3:11
este programa esta bastante bien lo unico que no me gusta es que las interfaz graficas son un poco cutres nada que ver con las aplicaciones de escritorio parecen que trasforma los Jframe en iframe