Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

qooxdoo

From Wikipedia, the free encyclopedia
Open-source Ajax web application framework
The topic of this articlemay not meet Wikipedia'snotability guidelines for products and services. Please help to demonstrate the notability of the topic by citingreliable secondary sources that areindependent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to bemerged,redirected, ordeleted.
Find sources: "Qooxdoo" – news ·newspapers ·books ·scholar ·JSTOR
(May 2020) (Learn how and when to remove this message)
qooxdoo
Web browser running a qooxdoo application
Stable release
7.2.1 / July 11, 2022; 2 years ago (2022-07-11)[1]
Repository
TypeJavaScript application framework
LicenseLGPL,EPL
Websiteqooxdoo.org


qooxdoo/ˈkksd/ is anopen-sourceAjaxweb application framework. It is anLGPL- and/orEPL-licensed client-side and server-agnostic solution, and includes support for professionalJavaScript development, agraphical user interface (GUI)toolkit and high-level client-server communication.

Framework

[edit]

qooxdoo is entirely class-based, tries to leverage the features ofobject-oriented JavaScript and is based onnamespaces. Most modern browsers are supported, includingGecko (Firefox,Mozilla,SeaMonkey),Presto (Opera),Trident (Internet Explorer,RealPlayer,Winamp),WebKit (Chrome,Safari).[2] It includes an API reference that is auto-generated fromJavadoc-like comments. Among the accompanying toolset is a comprehensive JavaScriptparser that is an integral part of the automatic build process and is used to optimize,compress, link anddeploy customapplications, and generate documentation.Internationalization and localization of applications are supported. qooxdoo can be downloaded[3] as a comprehensiveSDK.

GUI toolkit

[edit]

Despite being a pure JavaScript framework, qooxdoo is quite on par with GUI toolkits likeQt,Standard Widget Toolkit (SWT) and others with respect to implementinguser interfaces. It offers a set ofwidgets that resemble elements of native desktop applications. Built-in support for keyboard navigation, focus and tab handling and drag and drop is provided. Dimensions can be specified as static, auto-sizing, stretching, percentage, weighted flex or min/max or even as combinations. All widgets are based on flexible layout managers, which are instrumental to many advanced layout abilities. Interface description is done programmatically in JavaScript for enhanced performance.

Defining the user interface needs noHTML, and styling the interface needs noCascading Style Sheets (CSS). Simple appearance themes are used to style colors, icons and other visual properties; they also support runtime switching..

Object-oriented programming

[edit]

qooxdoo uses a closed form to define new classes. The global class constructor takes two arguments, the name of the new class and a map that provides values for a set of predefined keys, like 'construct' (the constructor method hook), 'statics' (for static class attributes and methods), 'members' (for instance attributes and methods) and 'destruct' (for the destructor). This (possibly large) map represents the class definition. Classes can be derived from other classes using the 'extend' keyword.

The following application skeleton gives an impression of how that works. The code will create a small application with a button that features a tooltip and opens an alert box when pressed. You can also run and edit this code in an online Playground:[4]

qx.Class.define("custom.Application",{extend:qx.application.Standalone,members:{main:function(){this.base(arguments);// Create buttonvarbutton1=newqx.ui.form.Button("First Button","icon/22/apps/internet-web-browser.png");// Document is the application rootvardoc=this.getRoot();// Add button to document at fixed coordinatesdoc.add(button1,{left:100,top:50});// Attach a tooltipbutton1.setToolTip(newqx.ui.tooltip.ToolTip("A nice tooltip","icon/32/status/dialog-information.png"));// Add an event listenerbutton1.addListener("execute",function(e){alert("Hello World!");});}}});

Interfaces andmixins are defined and used in a similar fashion.

Ajax

[edit]

While being a client-side and server-agnostic solution, the qooxdoo project does include optionalRPC server implementations (currently inJava,PHP,Perl andPython) to demonstrate client-server communication. An abstract transport layer supportsqueues,timeouts and implementations viaXMLHttpRequest, Iframes and Scripts. Like the rest of qooxdoo, this layer relies on event-based programming to simplifyasynchronous communication.

See also

[edit]

References

[edit]
  1. ^"Release v7.2.1 · qooxdoo/qooxdoo".github.com. 2022-07-11. Retrieved2022-10-09.
  2. ^"qooxdoo Requirements". Retrieved2 February 2011.
  3. ^"qooxdoo Download page". Retrieved2 February 2011.
  4. ^"Playground". Retrieved2 February 2011.

Sources

[edit]

External links

[edit]
Dialects
Engines
(comparison)
Frameworks
Client-side
Server-side
Multiple
  • Cappuccino
Libraries
People
Other
.NET
C++
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Rust
Scala
Smalltalk
Other languages
Low-level platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
OnWindows
OnUnix,
underX11
OnBeOS,Haiku
OnAndroid
CLI
Low Level Cross-platform
CLI
C
Java
High-level, platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
Object Pascal
Objective-C,Swift
C++
CLI
OnWindows
CLI
C++
Object Pascal
OnUnix,
underX11
OnAndroid
High-level, cross-platform
C
C++
Objective-C
CLI
Adobe Flash
Go
Haskell
Java
JavaScript
Common Lisp
Lua
Pascal
Object Pascal
Perl
PHP
Python
Ruby
Tcl
XML
shell
Dart
Retrieved from "https://en.wikipedia.org/w/index.php?title=Qooxdoo&oldid=1114961982"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp