JWt (pronunciado "jay-witty") es un marco de aplicación web de código abierto centrado en widgets para el lenguaje de programación Java desarrollado por Emweb. Tiene una API que utiliza patrones de desarrollo de aplicaciones GUI establecidos. El modelo de programación está basado en componentes y controlado por eventos , similar a Swing .
El objetivo de la biblioteca es aprovechar el modelo de componentes con estado que se utiliza en las API de aplicaciones de escritorio, aplicado al desarrollo web, en lugar del modelo tradicional modelo-vista-controlador (MVC). En lugar de utilizar MVC a nivel de página, MVC se aplica al nivel de componentes individuales.
Si bien la biblioteca utiliza un modelo de desarrollo de aplicaciones de escritorio, admite funciones específicas de la web, incluidas URL semánticas , compatibilidad con el historial de navegación del navegador, internacionalización, temas y estilos.
Una característica única de la biblioteca es su capa de abstracción del modelo de representación del navegador. La biblioteca utiliza Ajax para comunicarse con navegadores compatibles con Ajax, mientras que utiliza formularios HTML simples para otros agentes de usuario (para accesibilidad y motores de búsqueda). Mediante un método de arranque progresivo, la interfaz de usuario se representa inicialmente como HTML simple y, para los navegadores compatibles con Ajax, se actualiza automáticamente para utilizar Ajax para una mayor interactividad.
JWt se distribuye como un archivo jar. Una aplicación JWt es un archivo war que se implementa en un contenedor de servlets que cumple con los estándares .
Características principales
Consulte la lista de características en la página de inicio del proyecto para obtener una descripción más detallada. [2]
- Degradación elegante automática y mejora progresiva
- En todos los navegadores modernos, una aplicación JWt es una aplicación de página única , con soporte completo para navegación hacia adelante/atrás y marcadores, pero aún totalmente SEO .
- Admite eventos iniciados por el servidor ( Comet ) y utiliza E/S asincrónica cuando se implementa dentro de un contenedor Servlet 3.0.
- Una API de renderizado 2D unificada (lienzo SVG/HTML5/VML/PDF) con compatibilidad con java.awt.Graphics2D
- Representación PDF integrada para widgets, gráficos (gráficos) y HTML/CSS, para generar informes
- Validación tanto del lado del cliente como del lado del servidor
- Varias funciones de seguridad automáticas integradas para evitar vulnerabilidades CSRF y de scripts entre sitios .
- Soporte de temas a través de CSS o Bootstrap
- Los widgets disponibles se muestran en la galería de widgets.
- Una API de pintura 3D para renderizado WebGL, con respaldo a renderizado acelerado por GPU del lado del servidor
- Una API de gráficos 3D (superficies, puntos, gráficos de barras, ...) que admite selección, resaltado de intersecciones, mapas de altura, isolíneas, ...
Ejemplo de código
¡Hola mundo! [3] Ejemplo de código fuente completo [4]
/*
* Una clase de aplicación simple de Hola mundo que demuestra cómo reaccionar
* a eventos, leer entradas y brindar retroalimentación.
*/
public class HelloApplication extends WApplication { public HelloApplication ( WEnvironment env ) { super ( env ); setTitle ( "Hola mundo" );
getRoot (). addWidget ( new WText ( "¿Su nombre, por favor?" )); final WLineEdit nameEdit = new WLineEdit ( getRoot ( ) ); nameEdit.setFocus ();
botón WPushButton = new WPushButton ( "Salúdame." , getRoot ( ) ) ; botón.setMargin ( 5 , Side.Left ) ;
obtener raíz (). addWidget ( nuevo WBreak ());
saludo final WText = nuevo WText ( getRoot ());
botón . clicado (). addListener ( this , new Signal . Listener () { public void trigger () { saludo . setText ( "Hola, " + nameEdit . getText ()); } }); } }
Véase también
- Comparación de frameworks web
- Wt , el proyecto C++ del que se deriva JWt
Referencias
- ^ "Versión 4.11.1". 5 de noviembre de 2024. Consultado el 23 de noviembre de 2024 .
- ^ "JWt, Java Web Toolkit — Emweb". www.webtoolkit.eu . Consultado el 27 de octubre de 2019 .
- ^ "JWt, Java Web Toolkit — Emweb". www.webtoolkit.eu . Consultado el 27 de octubre de 2019 .
- ^ "CÓDIGO FUENTE DEL EJEMPLO HOLA MUNDO". www.webtoolkit.eu .
Enlaces externos
- Página de inicio del proyecto JWt