Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Qookery: Declarative UI Building for Qooxdoo


The Qookery library helps Qooxdoo programmers declare and run user interfaces through an expressive XML language.

This project is a spinoff of “WAFFLE”, the client-side web application framework used within Ergobyte for its cloud products.

It is currently under heavy development; code and APIs may change frequently.

Live Demo

You can discover Qookery and experiment with its features by visiting its interactive live demo

Real-life Examples

Below applications are using Qookery for their user interface requirements exclusively. All components, from the browser window up, are assembled and laid out declaratively via Qookery forms.

  • DataLife HIS – Hospital information system; handles in- and out-patient care, materials, financials, contact relationships, human resources and more.
  • Galen Office – Medical practice management system; handles patient appointments, electronic health records, document management, electronic prescription and more.
  • Ergobyte Electronic Services – Ergobyte’s customer account management interface

You may study their forms’ XML source code by firing up your browser’s developer tools and track network requests as you use the applications.


A short introductory tutorial is available:


The documentation is generated from class files and is under construction.

You might want to have a look at the XML schemata, which are the normative reference of the language:

Discussion Group

A discussion group is available here:

Source Code

The project’s source code is hosted on GitHub


Qookery is licensed under the Apache License, Version 2.0.


For requests and comments, please contact the project’s maintainer: