# qooxdoo - Universal JavaScript Framework

Welcome to qooxdoo! It is easy to create your own impressive and versatile applications. For detailed information on how to create such apps, for instance a typical rich internet application (RIA), please see the external documentation to get started (needs generation). get started.

For the impatient, here is a short version as well:
Use the `tool/bin/create-application.py` script to setup a new application. This will create a minimal directory structure of an application, which is ready to be built and run. Within the newly created application folder run the command
`generate.py source-all` to generate a development version of your app. Open `source/index.html` in your browser and see your first application in action. You can then go on and extend it into an application of your liking by changing the `Application.js` class file below the `source/class/` folder. The command `generate.py build` generates an optimized and compressed version of your application, located at `build/index.html`.

Open the included API viewer to display and search the entire API reference of the framework.

Also have a look at the readme readme and license text.

## Demo Applications

Please note that the following applications, except for the Showcase, are not pre-built. To create working applications locally use the appropriate commands `generate.py source` or `generate.py build`

- ### Showcase (Online)

  Highlights some of qooxdoo's main features and provides a good overview of what can be achieved.

  Source (needs generation)
  Build (ready to run)

- ### Widget Browser (Online)

  Shows the widgets and themes available in qooxdoo.

  Source | Build (both need generation)

- ### Demo Browser (Online)

  Contains many examples and tests for widgets, layouts and other framework functionality.

  Source | Build (both need generation)

- ### Playground (Online)

  Explore qooxdoo programming interactively: edit qooxdoo code in one pane, and see the result running in another.

  Source | Build (both need generation)

- ### Feed Reader (Online: RIA | Website | Mobile)

  A hybrid application for displaying RSS feeds, available as a RIA, a trimmed-down web site, or a mobile application (Smartphones: Android 1.6+, iOS; Desktop: Safari 5, Chrome 10+), all from the same code base.

  RIA: Source | Build (both need generation)

  Website: Source | Build (both need generation)

  Mobile: Source | Build (Android) | Build (iOS) (all need generation)

- ### Portal (Online)

  A low-level, DOM-oriented application without any high-level qooxdoo widgets.

  Source | Build (both need generation)

- ### ToDo (Online)

  A DOM-oriented application using data binding, offline and templating.

  Source | Build (both need generation)

- ### Mobile Showcase (Online)

  An experimental showcase for mobile widgets (Smartphones: Android 1.6+, iOS; Desktop: Safari 5, Chrome 10+).

  Source | Build (Android) | Build (iOS) (all need generation)

## Developer Tools

The following applications work with data from the qooxdoo framework itself. Versions can also be generated that are specific to your custom application. While the API Viewer is pre-built and runs out-of-the-box, you need to generate the others yourself.

- ### API Viewer (Offline)

  Searchable API reference of the qooxdoo framework.

  Framework API (ready to run)

- ### Test Runner (Online)

  Integrated unit testing framework similar to (but not requiring) JSUnit.

  Framework Tests (needs generation)

- ### Inspector (Online)

  A debugging tool to inspect a qooxdoo application, featuring an interactive console, an object and widget finder, and a property editor.

  Inspector (needs generation)

- ### Feature Configuration Editor (Online)

  A tool that aids developers in creating configurations for feature-based builds.

  Feature Configuration Editor (needs generation)

- ### Manual (Online)

  The qooxdoo manual, including user guide and reference sections.

  Manual (needs generation) Manual (ready to use)