qooxdoo / k U k s d U / es una de código abierto Ajax marco de aplicación web . Es una solución del lado del cliente y del servidor con licencia LGPL y / o EPL , e incluye soporte para el desarrollo de JavaScript profesional , un juego de herramientas de interfaz gráfica de usuario (GUI) y comunicación cliente-servidor de alto nivel.
![]() Navegador web que ejecuta una aplicación qooxdoo | |
Lanzamiento estable | 6.0.1 / 4 de febrero de 2021 [1] |
---|---|
Repositorio | ![]() |
Tipo | Marco de aplicación de JavaScript |
Licencia | LGPL , EPL |
Sitio web | qooxdoo |
Marco de referencia
qooxdoo está completamente basado en clases, intenta aprovechar las características de JavaScript orientado a objetos y se basa en espacios de nombres . La mayoría de los navegadores modernos son compatibles, incluidos Gecko ( Firefox , Mozilla , SeaMonkey ), Presto ( Opera ), Trident ( Internet Explorer , RealPlayer , Winamp ), WebKit ( Chrome , Safari ). [2] Incluye una referencia de API que se genera automáticamente a partir de comentarios similares a Javadoc . Entre el conjunto de herramientas adjunto se encuentra un analizador de JavaScript integral que es una parte integral del proceso de compilación automática y se utiliza para optimizar, comprimir , vincular e implementar aplicaciones personalizadas y generar documentación. Se admiten la internacionalización y localización de aplicaciones. qooxdoo se puede descargar [3] como un completo SDK .
Kit de herramientas de GUI
A pesar de ser un marco de JavaScript puro, qooxdoo está bastante a la par con los kits de herramientas de GUI como Qt , Standard Widget Toolkit (SWT) y otros con respecto a la implementación de interfaces de usuario . Ofrece un conjunto de widgets que se asemejan a elementos de aplicaciones de escritorio nativas. Se proporciona soporte integrado para navegación por teclado, enfoque y manejo de pestañas y arrastrar y soltar. Las dimensiones se pueden especificar como estáticas, de tamaño automático, estiramiento, porcentaje, flexión ponderada o mín. / Máx. O incluso como combinaciones de estos. Todos los widgets se basan en administradores de diseño flexibles, que son fundamentales para muchas capacidades de diseño avanzadas. La descripción de la interfaz se realiza mediante programación en JavaScript para mejorar el rendimiento.
La definición de la interfaz de usuario no necesita HTML y el estilo de la interfaz no necesita hojas de estilo en cascada (CSS). Los temas de apariencia simple se utilizan para diseñar colores, iconos y otras propiedades visuales; también admiten la conmutación en tiempo de ejecución.
Programación orientada a objetos
qooxdoo usa una forma cerrada para definir nuevas clases. El constructor de la clase global toma dos argumentos, el nombre de la nueva clase y un mapa que proporciona valores para un conjunto de claves predefinidas, como 'construct' (el gancho del método del constructor), 'statics' (para los métodos y atributos de clase estática) 'miembros' (por ejemplo, atributos y métodos) y 'destruct' (para el destructor). Este mapa (posiblemente grande) representa la definición de clase. Las clases se pueden derivar de otras clases usando la palabra clave 'extender'.
El siguiente esqueleto de la aplicación da una impresión de cómo funciona. El código creará una pequeña aplicación con un botón que presenta una información sobre herramientas y abre un cuadro de alerta cuando se presiona. También puede ejecutar y editar este código en un patio de juegos en línea: [4]
qx . Clase . define ( "custom.Application" , { extend : qx . application . Standalone , miembros : { main : function () { this . base ( argumentos ); // Crear botón var button1 = new qx . ui . forma . Botón ( "Primer botón" , "icon / 22 / apps / internet-web-browser.png" ); // El documento es la raíz de la aplicación var doc = this . getRoot (); // Agregar botón al documento en coordenadas fijas doc . agregar ( button1 , { left : 100 , top : 50 }); // Adjuntar un botón de información sobre herramientas 1 . setToolTip ( nueva qx . ui . tooltip . ToolTip ( "Una bonita descripción emergente" , "icon / 32 / status / dialog-information.png" )); // Agregar un botón de escucha de eventos 1 . addListener ( "ejecutar" , función ( e ) { alerta ( "¡Hola mundo!" ); }); } } });
Las interfaces y mixins se definen y utilizan de manera similar.
Ajax
Si bien es una solución del lado del cliente y del servidor, el proyecto qooxdoo incluye implementaciones de servidor RPC opcionales (actualmente en Java , PHP , Perl y Python ) para demostrar la comunicación cliente-servidor. Una capa de transporte abstracta admite colas , tiempos de espera e implementaciones a través de XMLHttpRequest , Iframes y Scripts. Como el resto de qooxdoo, esta capa se basa en la programación basada en eventos para simplificar la comunicación asincrónica .
Ver también
- Ajax (programación)
- Comparación de marcos de JavaScript
Referencias
- ^ "lanzamiento de qooxdoo 6.0.0" . github.com . 2021-02-04 . Consultado el 10 de marzo de 2021 .
- ^ "Requisitos de qooxdoo" . Consultado el 2 de febrero de 2011 .
- ^ "Página de descarga de qooxdoo" . Consultado el 2 de febrero de 2011 .
- ^ "Zona de juegos" . Consultado el 2 de febrero de 2011 .
Fuentes
- Población
- Referencia de API
- Página del proyecto de Sourceforge
- Resumen de video en Ajaxian.com
- Revisión crítica de TechRepublic en archive.today (archivado 2013-01-02)
- Revisión sobre HTMLGoodies
enlaces externos
- Página web oficial