Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Pasar aplicación Swing a web

Hola,

Tengo una aplicación un poco antigua, escrita en Swing. El caso es que me interesaría pasarla a web, de la forma "menos traumática" posible.

Hasta el momento nunca he programado para la web (a parte de alguna página con HTML o un poco de PHP). Alguna sugerencia para que no sea demasiado doloroso/complicado?

diciembre 20, 2011 | Unregistered Commentermcs

Haber. Sino quieres aprender web, sólito te estas sepultando!! Así que : aprenderlo ya!!!

Asumiendo que no es porque no quieres aprender , sino porque no tienes tiempo, te listo 02 caminos:

1.- Usa la tecnologia JAVA WEB STAR, la cual te permite a los usuarios iniciar una aplicación Java (swing - gwt) haciendo clic en el enlace de una página web.

Es decir toda tu app que ya esta hecha con mínimos pasos se podrá acceder desde cualquier navegador, como si de una aplicación web se tratara.

No se si con el eclipse se podrá ,pero con el netbeans solo es copiar y pegar los .java de tu app swing y listo :) !!

http://www.mkyong.com/java/java-web-start-jnlp-tutorial-unofficial-guide/
http://docs.oracle.com/javase/tutorial/deployment/webstart/
http://netbeans.org/kb/docs/java/javase-jws.html


2.- Hya un framework de google llamado GWT. Esta basado en un SDK ( osea muyparecido al JDK ). Con este framework puedes programar en una especie de swing es decir con clases muy parecidas al JFrame, jpanel, jbuton, etc etc y al compilar, todas las interfaces se convierten a javascript y ya tienes tu pagina web :) !!!

Es decir con GWT deberas hacer de nuevo tu app pero no te tomara mucho tiempo ni sera dificil ya que es casi las mismas clases swing, cambia muy poco :) !!

http://code.google.com/webtoolkit/doc/latest/RefWidgetGallery.html
http://examples.roughian.com/index.htm#Widgets~Summary

Ojala te ayude en algo.

diciembre 20, 2011 | Registered Commenterjrichard

No creo que sea buena idea usar Java Web Start. Ya lo he usado (con esta misma aplicación) y he tenido algun problemilla (cómo por ejemplo que a un usuario de la misma cada vez que la ejecutaba le descargaba toda la aplicación, aunque no hubiera ninguna modificación).

Por otra parte, preferiría algo más JEE en vez de GWT (que lo que hace es convertir una aplicación Java a Javascript). A mi me interesa que todo funcione desde el servidor, y si se tiene que reescribir la aplicación, pues se reescribe.

De todas formas, gracias por tus consejos.

P.D.: Mi problema no está en que no quiera aprender, es que me es muy complicado aprender programación web... He intentado un poco con PHP puro, Symfony, Ruby on Rails, etc, y no me acaba de convencer...

diciembre 20, 2011 | Unregistered Commentermcs

Si la aplicación tiene bien definido el MVC, no habría ningún problema, solo seria escribir unos JSP y algunos servlets que llamen a la parte logica, pero si no es así en JavaHispano hay un buen manual de JEE para que te vayas iniciando y mires como migrarla, te dejo el link del tuto para que lo vayas mirando http://www.javahispano.org/portada/2011/7/28/tutorial-basico-de-java-ee-por-abraham-otero.html

diciembre 20, 2011 | Unregistered CommenterJAM

He estado mirando el manual de JEE. Está bien, muy simple, pero no sé si esto va a ser productivo, o si voy a tardar años en tener la aplicación lista...

De todas formas, en cuanto pueda imprimiré el manual y lo leeré con calma.

diciembre 21, 2011 | Unregistered Commentermcs

Hola MCS.

Mira esta pagina : http://community.topcoder.com/tc

Si ellos usan JAVA WEB STAR, no creo sea mala idea que tu lo uses.

Como te digo no cambiaras ni un solo archivo .java de tu aplicación y la puedes poner en producción en contados segundos.

diciembre 21, 2011 | Registered Commenterjrichard

jrichard, si que es una mala idea que yo lo use. A mi me interesa tener la aplicación centralizada en un servidor, y que la gente no deba descargar ni siquiera el runtime de java. Lo que yo quiero tener es una página web, no un cliente swing que se conecte al servidor (es lo que tengo ahora mismo). No quiero tener la base de datos abierta a internet, ni tener que crear un webservice para alimentar al cliente swing. Simplemente quiero ELIMINAR el cliente swing, y tener un único cliente HTML.

Entiendo que lo que quiero es más lento y elaborado que no crear un fichero .jnlp, pero bueno, no pasa nada. Si hay más trabajo, pues tendré que trabajar más. Pero quiero que el producto final sea una aplicación web, que únicamente necesite un navegador para usarla (por la parte del servidor la cosa cambia, pero no hay problemas).

diciembre 22, 2011 | Unregistered Commentermcs

... que tal un applet java?

http://nereida.deioc.ull.es/~cleon/pa/0304/prct/p1/node2.html

octubre 18, 2013 | Unregistered Commentergalaxar

Hola.
Hay un producto que permite convertir la aplicación JAVA Swing en JAVA Web.
http://www.creamtec.com/products/ajaxswing/
No lo he probado a ver que tan bien queda porque sino mal recuerdo es de pago.
En todo caso te paso el dato y de ser posible sería bueno que si lo utilizas nos cuentes tu experiencia. Espero te sirva mi comentario.

octubre 31, 2013 | Registered Commenterjed