8

Estaba buscando en GWT. Parece agradable, pero nuestro software tiene que funcionar sin requisitos de JS. ¿Es posible?GWT sin JavaScript?

Respuesta

12

No, no lo es. GWT proporciona un juego de herramientas de ventanas que está específicamente diseñado para ejecutarse en el cliente, no en el servidor. El código degradado (por ejemplo, no javascript) necesitaría entregar HTML completo al navegador, lo que GWT simplemente no hace. Compila su código java a un archivo javascript que se entrega al cliente y crea la interfaz de usuario por DOM-manipulación en el cliente. Luego hay un código para responder al servidor, algunos implícitos, algunos escritos por ti mismo. Este modelo no se presta bien para la degradación con gracia.

La única manera de degradarse con elegancia es proporcionar una segunda IU que no sea javascript o utilizar otro conjunto de herramientas que no represente el frontend en el cliente sino que entregue HTML. Lo siento.

+0

Bastante. Entonces, GWT, por su naturaleza, solo creará archivos js. – Loki

+0

sí, ese es el punto. Muy interactivo, muy impresionante. Pero puro Javascript. –

2

Podría degradarse con gracia creando una estructura html que sea lo suficientemente buena (con publicaciones de formularios, menús vinculados, etc.) y luego haga que GWT se una a cada parte de esa estructura, lo que aumenta su comportamiento. Por ejemplo, haga una dinámica desplegable HTML, reemplace un enlace a otra página con un componente que abra una caja de luz, o reemplace un enlace a otra página con una solicitud HTTP XML para hacer lo mismo (por ejemplo, emitir un voto).

He hecho esto varias veces para los clientes.

Es la manera opuesta en que se desarrolla la mayoría de GWT, pero puede funcionar.

2

Estaba viendo este problema al diseñar mi sitio web. GWT no es mucho mejor que simplemente escribir archivos Javascript porque su sintaxis es casi idéntica. El verdadero beneficio se produce cuando comparte bibliotecas de cliente y servidor. Esperamos que hayas resuelto este problema en los últimos dos años, pero de todos modos hay algunos ejemplos que pueden ser útiles.

Creación de Gmail: con GWT, puede crear un EmailFormatter en un paquete compartido que incluya el marcado de listado de correo electrónico para que su servidor no tenga que hacerlo. A continuación, puede agregar compatibilidad para los navegadores heredados ("versión anterior") utilizando la misma clase EmailFormatter en el lado del servidor.

Verificación de formulario: si bien es absolutamente necesario desde una perspectiva de seguridad para validar el lado del servidor de entrada de usuario, es más conveniente para la mayoría de los usuarios tener Javascript revisar un formulario antes de enviarlo. Puede usar el mismo código Java con GWT para hacer esto.