tag javascript web-applications gwt graceful-degradation noscript

tag - GWT sin JavaScript?



javascript get by tag (3)

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


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 de forma algo elegante es proporcionar una segunda IU que no sea javascript o utilizar otro kit de herramientas que no muestre el frontend en el cliente sino que entregue HTML. Lo siento.


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, realice una dinámica desplegable HTML, reemplace un enlace a otra página con un componente que abra un lightbox, o reemplace un enlace a otra página con una solicitud HTTP XML para hacer lo mismo (por ejemplo, emitir un voto).

Lo he hecho varias veces para clientes.

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


Estaba viendo este problema yo mismo 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 correos electrónicos 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 del usuario, es más conveniente para la mayoría de los usuarios que Javascript compruebe un formulario antes de enviarlo. Puede usar el mismo código Java con GWT para hacer esto.