# Qooxdoo

Qooxdoo (englisch ['kʊksdu]; eigene Schreibweise: „qooxdoo“) ist ein clientseitiges Webframework für den Bau grafischer Benutzeroberflächen für Webanwendungen mit Hilfe des Programmierkonzepts Ajax. Die Quelltexte des Projekts sind frei und stehen unter der Eclipse Public License und der GNU Lesser General Public License.
Qooxdoo ist ein Framework für die Entwicklung von Anwendungen, die der Benutzer über seinen Webbrowser aufruft und bedient. Es stellt in einer Programmbibliothek zahlreiche auf der Skriptsprache JavaScript basierende Komponenten zur Verfügung, die Aussehen und Bedienung von Webanwendungen an klassische Desktop-Anwendungen angleichen. Dabei verwendet es das Programmierkonzept Ajax, das es erlaubt, Benutzereingaben zu verarbeiten, ohne die gesamte Webseite neu zu laden.
Der Name ist eine Verballhornung des Ausspruchs „guckst du“ in einem badischen Dialekt.

## Eigenschaften
### Portabilität

    Diese Anwendungen laufen im Webbrowser und stehen somit dem Anwender auf allen Systemen zur Verfügung, auf dem ein von Qooxdoo unterstützter Webbrowsertyp vorhanden ist (u. a. Internet Explorer, Mozilla, Safari).

### Einfache Bedienung

    Die Anwendungen haben das von klassischen Desktopanwendungen gewohnte Look & Feel und sind daher für den Anwender leicht zu bedienen.

### Anpassbarkeit

    Die Entwickler können eigene Themes definieren und damit das Look & Feel geeignet für ihre Anwendung anpassen.

### Einheitlichkeit

    Die entwickelte Anwendung verfügt auf jedem gängigen Browser über ein einheitliches Look & Feel.

### Skalierbarkeit

    Entwickler können neue eigenständige Widgets entwickeln.
Die Ähnlichkeit zu klassischen GUI-Toolkits, wie Qt, Swing, MFC etc. besteht auch auf der Programmierebene, die Anwendungen werden aus Widgets zusammengestellt und mit Hilfe von Events gesteuert.

## Geschichte

Das Framework wurde von 1&1- und GMX-Mitarbeitern als Open-Source-Projekt gestartet.
Ein ähnliches Ziel, nämlich den Browser als GUI-Plattform zu verwenden, verfolgte bereits das Mozilla-Projekt mit seiner XUL-Technik, diese ist jedoch auf deren Browservarianten beschränkt.
Ähnlicher zu Qooxdoo ist das Dojo Toolkit, welches ebenfalls auf die Implementierung einer Cross-Plattform-GUI rein via JavaScript und DOM setzt.
Am 17. Dezember 2009 ist Qooxdoo in der Version 1.0 erschienen.

## Einsatz

* Innerhalb der Rich Ajax Platform der Eclipse Foundation wird Qooxdoo als Rendering-Engine für die Implementierung des RWT-Toolkits verwendet. Dies ist als Pendant zu SWT gedacht, mit den gleichen Softwareschnittstellen, aber in Ajax-Technik für den Einsatz im Webbrowser realisiert. Der Entwickler braucht nur noch eine Quellcodeversion für beide Plattformen (Desktop und Webbrowser) zu erstellen und pflegen. Er entscheidet dann lediglich, für welche Plattform der Code generiert werden soll, die beträchtlichen Unterschiede zwischen beiden Plattformen werden durch die Frameworks und Toolkits verborgen.
* Embarcadero Technologies setzt Qooxdoo als Rendering-Engine in seinem Produkt RadPHP (vormals Delphi for PHP) ein.
* Die Webmailer, für 1&1 DSL- und GMX Mail-Kunden, basieren auf Qooxdoo.
* Der Web-Desktop eyeOS verwendet Qooxdoo für die Erstellung der grafischen Oberfläche.