Articulo de referencia

qooxdoo

\n{{cite web \n|url=https://github.com/qooxdoo/qooxdoo/releases/tag/v7.8.0\n|title=Release v7.8.0 · qooxdoo/qooxdoo\n|author= \n|date=2025-01-28\n|website=github.com \n|access-d...

qooxdoo / ˈ k k s d / es un framework de código abierto para aplicaciones web Ajax . Es una solución independiente del servidor y del lado del cliente con licencia LGPL y/o EPL , e incluye soporte para el desarrollo profesional de JavaScript , un conjunto de herramientas de interfaz gráfica de usuario (GUI) y comunicación cliente-servidor de alto nivel.

Estructura

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 que lo acompaña se encuentra un analizador de JavaScript completo que es parte integral del proceso de compilación automática y se utiliza para optimizar, comprimir , enlazar y desplegar aplicaciones personalizadas , y generar documentación. Se admite la internacionalización y localización de aplicaciones. qooxdoo se puede descargar [ 3 ] como un SDK completo .

Kit de herramientas de interfaz gráfica de usuario

A pesar de ser un framework de JavaScript puro, qooxdoo está a la par con kits de herramientas GUI como Qt , Standard Widget Toolkit (SWT) y otros en lo que respecta a la implementación de interfaces de usuario . Ofrece un conjunto de widgets que se asemejan a elementos de aplicaciones de escritorio nativas. Proporciona soporte integrado para navegación por teclado, manejo de foco y tabulación, y arrastrar y soltar. Las dimensiones se pueden especificar como estáticas, de tamaño automático, estirables, porcentuales, flexibles ponderadas o mínimas/máximas, o incluso combinaciones de estas. Todos los widgets se basan en gestores 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 un mejor rendimiento.

Definir la interfaz de usuario no requiere HTML , y darle estilo no requiere hojas de estilo en cascada (CSS). Se utilizan temas de apariencia sencillos para dar estilo a los colores, los iconos y otras propiedades visuales; además, admiten el cambio en tiempo de ejecución.

Programación orientada a objetos

qooxdoo utiliza una sintaxis cerrada para definir nuevas clases. El constructor de clase global recibe 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 constructor), 'statics' (para atributos y métodos estáticos de la clase), 'members' (para atributos y métodos de instancia) y 'destruct' (para el destructor). Este mapa (posiblemente extenso) representa la definición de la clase. Las clases pueden derivarse de otras clases mediante la palabra clave 'extend'.

El siguiente esqueleto de aplicación da una idea de cómo funciona. El código creará una pequeña aplicación con un botón que incluye una información sobre herramientas y abre un cuadro de alerta al pulsarlo. También puedes ejecutar y editar este código en un entorno de pruebas en línea: [ 4 ]

qx . Clase . define ( "custom.Application" , { extend : qx . application . Standalone ,miembros : { principal : función ( ) { this.base ( argumentos ) ;// Crear botón var button1 = new qx . ui . form . Button ( "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 . add ( button1 , { left : 100 , top : 50 });// Adjuntar un botón de información sobre herramientas button1 . setToolTip ( new qx . ui . tooltip . ToolTip ( "Una buena información sobre herramientas" , "icon/32/status/dialog-information.png" ));// Agregar un detector de eventos button1 . addListener ( "execute" , function ( e ) { alert ( "¡Hola Mundo!" ); }); } } });

Las interfaces y los mixins se definen y utilizan de forma similar.

Ajax

Si bien el proyecto qooxdoo es una solución independiente del servidor y del cliente, incluye implementaciones opcionales de servidor RPC (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 mediante XMLHttpRequest , iframes y scripts. Al igual que el resto de qooxdoo, esta capa se basa en la programación orientada a eventos para simplificar la comunicación asíncrona .

Véase también

Referencias

  1. "Versión v7.8.0 · qooxdoo/qooxdoo" . github.com . 2025-01-28 . Consultado el 2025-04-01 .
  2. "Requisitos de qooxdoo" . Archivado del original el 19 de diciembre de 2010. Consultado el 2 de febrero de 2011 .
  3. "Página de descarga de qooxdoo" . Archivado del original el 25 de diciembre de 2010. Consultado el 2 de febrero de 2011 .
  4. "Parque infantil" . Consultado el 2 de febrero de 2011 .

Fuentes

  • Población
  • Referencia de la API
  • Página del proyecto en Sourceforge
  • Vídeo informativo en Ajaxian.com
  • Enlace obsoleto en archive.today (archivado el 2 de enero de 2013)
  • Reseña en HTMLGoodies
  • Sitio web oficialEdita esto en Wikidata