Foros del Web » Programación para mayores de 30 ;) » Java »

¿GWT como alternativa a escribir JavaScript directamente?

Estas en el tema de ¿GWT como alternativa a escribir JavaScript directamente? en el foro de Java en Foros del Web. Hola: Hasta ahora siempre he trabajado la parte de de cliente usando las tecnologías nativas: HTML, CSS y JavaScript. Recientemente he comenzado a usar SASS ...
  #1 (permalink)  
Antiguo 23/10/2015, 09:13
Avatar de Negora  
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 8 meses
Puntos: 5
¿GWT como alternativa a escribir JavaScript directamente?

Hola:

Hasta ahora siempre he trabajado la parte de de cliente usando las tecnologías nativas: HTML, CSS y JavaScript. Recientemente he comenzado a usar SASS en vez de CSS y eso me ha llevado a querer dar un paso similar en el caso de JavaScript.

Hasta ahora siempre me he encontrado cómodo con él, pero reconozco que su naturaleza de tipos dinámicos me ha traído problemas en más de una ocasión. Lo suplí usando JsDoc y con la ayuda de mi querido NetBeans IDE. Pero no es lo mismo que usar tipos estáticos: no permite detectar muchos errores mientras escribes, la información provista por el IDE es mucho más escasa (en ocasiones nula) y hacer "refactoring" es muy arriesgado.

Por ello he buscado alternativas, como TypeScript y GWT. El primero me gusta, pero puestos a tener que compilar, casi prefiero escoger GWT, pues puedo usar el lenguaje y las herramientas que ya uso. Sé que "llego tarde a la fiesta", pues estos años GWT ha perdido fama con respecto a los frameworks de JavaScript. Pero aun así me gustaría saber si elegir GWT a día de hoy sería una buena opción.

Mi idea es escribir en Java lo que escribo en JavaScript. He visto que existe el proyecto GwtQuery y que todavía sigue siendo mantenido. Eso me ha dado más esperanzas todavía, ya que con él podría tocar el DOM sin recurrir a JS. También he visto que se puede envolver código JS existente (aunque sea farragoso) y suplir las carencias que uno pueda encontrar.

En definitiva, usaría GWT debido a:

■ Los tipos estáticos. Esto haría mi código menos propenso a errores. En teoría, también mejoraría mi productividad al poder usar las herramientas más complejas de mi IDE.

■ La modularidad del código. Podría organizarlo como hago ya en Java, lo que facilitaría su mantenimiento y entendimiento. He probado Dojo y Require.js, pero no me convence el aspecto de los módulos.

¿Qué opináis al respecto? ¿Merecería la pena gastar tiempo en aprender GWT con esos propósitos en mente?

Gracias.
  #2 (permalink)  
Antiguo 23/10/2015, 14:17
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: ¿GWT como alternativa a escribir JavaScript directamente?

Buenas,

Yo con GWT solo he jugado un poco, por lo que puede que no sea el mejor para aconsejarte.

Si bien tienes razon en los puntos positivos que aportas, sin embargo yo no soy muy partidario de soluciones de rich client como GWT o Vaadin (o JSF), ya que abstraen completamente del codigo generado.

Todo va muy bien si se sigue un tutorial o se utilizan los componentes tal cual. Sin embargo en el mundo real hay problemas con el Navegador X o y, o bien el cliente quiere cambiar la forma y el funcionamiento de una tabla para que funcione como una que vio en otra aplicacion... en esos casos estas perdido, ya que el grado de personalizacion y de control a bajo nivel del que dispones es muy escaso.

Como siempre depende de tus necesidades y tiempo, pero no pierdes nada por echarle un vistazo y hacer un prototipo. Te dejo un link con una reflexion similar a la tuya:
http://stackoverflow.com/questions/2...r-new-projects

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 23/10/2015, 14:24
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: ¿GWT como alternativa a escribir JavaScript directamente?

@Profesor_Falken:

Qué opinás de TypeScript?
  #4 (permalink)  
Antiguo 24/10/2015, 11:39
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: ¿GWT como alternativa a escribir JavaScript directamente?

Olvídate de GWT, curva de aprendizaje importante, multiplica por tres el tiempo de desarrollo y a nada que crezca el proyecto necesitarás un equipo potente para poder compilar.

Creo que Google no tardará mucho en abandonarlo, hay ciertas señales.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 26/10/2015, 01:40
Avatar de Negora  
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: ¿GWT como alternativa a escribir JavaScript directamente?

Profesor_Falken: Antes de nada, gracias por el enlace que me has dado. Precisamente he encontrado mucha información en StackOverflow estos días, pero mucha de ella estaba ya desactualizada. Este mensaje me ha venido muy bien.

En su momento barajé tanto JSF como Vaadin. Pero las deseché por alguno de los motivos que comentas:

■ Dependen de servidor y no permiten crear aplicaciones 100% autónomas.

■ Abstraen completamente el DOM, y eso es algo que no me interesa tanto.

Por eso GWT parecía más adecuada a mis intereses: no depende de servidores y permite tocar cosas del DOM directamente. La librería GwtQuery (GQuery) de hecho permite trabajar como si se tratase de jQuery. El problema supongo que está en el enfoque de las guías que hay, incluida la oficial, que están orientadas a gente proveniente de Swing y no a gente que ya conoce el DOM. Y se centran especialmente en eso. Mi intención sería usarlo como un reemplazo de JS únicamente. Si lo combinase con Errai, entonces podría incluso usar plantillas en HTML puro. Pero eso sería en un segundo paso.

No sé qué hacer... Supongo que, como dices, podría hacer un pequeño proyecto de ensayo.

Xerelo: Pero desde hace algún tiempo GWT fue abierto a la comunidad, ¿No? Según tengo entendido, aunque Google se baje del carro, sigue habiendo muchas empresas fuertes detrás que lo usan y contribuyen a él. O eso dan a entender en las GWTCon.

Sobre la curva de aprendizaje, tenía entendido que para alguien con conocimientos de Java, ésta era baja. Lógicamente no para alguien que venga de JS y se pase a Java (no tendría mucho sentido tampoco).

Lo que me preocupa más es lo que dices del tiempo de desarrollo. ¿Lo dices por los tiempos de compilación o por todo el proceso completo? Gracias ;) .
  #6 (permalink)  
Antiguo 26/10/2015, 03:38
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: ¿GWT como alternativa a escribir JavaScript directamente?

Cita:
Xerelo: Pero desde hace algún tiempo GWT fue abierto a la comunidad, ¿No? Según tengo entendido, aunque Google se baje del carro, sigue habiendo muchas empresas fuertes detrás que lo usan y contribuyen a él. O eso dan a entender en las GWTCon.
En la GWTCon no va a decir que no tiene futuro y que es mejor que los programadores busquen otra cosa. De todas formas, se trata de mi opinión basada en haber trabajado con GWT y no de una predicción, y yo creo que que va a desaparecer salvo que realicen un gran cambio.

Cita:
Sobre la curva de aprendizaje, tenía entendido que para alguien con conocimientos de Java, ésta era baja. Lógicamente no para alguien que venga de JS y se pase a Java (no tendría mucho sentido tampoco).
Alguien de sepa java claro que tendrá más facilidades que alguien de javascript, básicamente porque es gwt es java. Eso no quita que se tengan que tener muy claros conceptos que a los novatos o programadores poco interesados les superan. Puedes hacer que funcione, pero será inmantenible y no escalable a menos que seas muy bueno y le hayas dedicado mucho tiempo.

Cita:
Lo que me preocupa más es lo que dices del tiempo de desarrollo. ¿Lo dices por los tiempos de compilación o por todo el proceso completo? Gracias ;) .
Las dos cosas, estamos hablando de la capa de presentación, por lo que hay muchos componentes y comportamientos que no coincidirán con las necesidades de tu proyectp tal y como vienen en el núcleo de GWT, por lo que perderás mucho tiempo modificando/creando componentes siendo algunas de esas modificaciones no intuivas.

GWT trabaja con ficheros compilados, lo que significa que cada vez que modificas código hay que compilar y he llegado a ver compilaciones de 20 minutos en un i7, ten en cuenta que realiza compilaciones para distintos navegadores. Evidentemente esto sería imposible de asumir, por lo que en realidad mientras se desarrollaba se usaba un modo depuración mediante un plugin en el navegador, te evita tener que compilar para probar código pero a cambio el navegar por la aplicación se hace mucho más lento.

Súmale que había ciertas cosas que funcionaban en el código java pero no en el compilado, y viceversa, en java daba error pero no en el compilado, y ya entenderás por qué el tiempo de desarrollo se triplica en el momento que hagas algo que no sea un Hola Mundo.

Ya hace algún tiempo que han abandonado lo del plugin y ahora creo que hay que utilizar el Super Dev Mode, pero no puedo opinar porque no lo he usado.

http://www.gwtproject.org/release-no...otes_2_6_0_RC1
Cita:
GWT Development Mode will no longer be available for Chrome sometime in 2014, so we improved alternate ways of debugging. There are improvements to Super Dev Mode, asserts, console logging, and error messages.
Si quieres tirar por ahí, mira Vaadin, creo que es el más sano de los hijos de GWT.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #7 (permalink)  
Antiguo 28/10/2015, 05:06
Avatar de Negora  
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: ¿GWT como alternativa a escribir JavaScript directamente?

Hola de nuevo Xerelo:

Antes de nada, agradezco que hayas dado detalles tan completos de tu experiencia con GWT, ya que lo que me interesa es conocer opiniones de gente que no sólo haya probado GWT, sino que se haya "peleado" con él. Y veo que tú lo has hecho.

La verdad es que esperaba que con GWT las cosas fueran más directas y más seguras de lo que comentas. Si la propia implementación de GWT a JavaScript da problemas, entonces ahí un desarrollador poco puede hacer (salvo los típicos "trucos" que a veces son peores que el propio problema).

He estado leyendo que GWT 3.0 se acercará al concepto de "transpiler" puro y duro que deseo, a lo TypeScript. Pero para eso queda todavía bastante tiempo. Así que viendo la mala experiencia que has tenido, creo que me lo voy a replantear todo de nuevo. Creo que seguiré un tiempo con JavaScript y más adelanté volveré a mirar este asunto.

Muchas gracias.

Etiquetas: javascript, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:24.