Application Structure
A qooxdoo application has a well-organized file structure. For an application named custom, everything is located with the application folder custom:
source- this folder always exists, as it contains the development version of your appindex.html- usually the only HTML file a qooxdoo application needs. Typically it doesn’t even have an HTML body element, as the entire qooxdoo application is available as an external JavaScript fileclass- all JavaScript classescustom- this is the top-level namespace of your classes, often identical to the application name
resource- any static resources like images, etc. belong into this foldercustom- resource handling requires all files to be organized in folders that correspond to namespaces. Typically, the resources of your app are stored in a folder of the same name as the top-level namespace of your application classestest.png- sample resource
script- this folder is created and updated for each development version of your app usinggenerate.py sourcecustom.js- this JavaScript file is included fromindex.html. In thesourceversion it is a loader script that includes all required files individually.
translation- if you choose to develop your app for multiple languages, put your translation files into this directoryen.po- and the other.pofiles for the languages your app supports. The respective locale is used as a file name, e.g.it.po,pt_BR.po, ...
build- this folder is created and updated for each deployment version of your app usinggenerate.py buildindex.html- identical to the one of thesourceversionscript- contains the generated JavaScript code of your applicationcustom.js- this JavaScript file is included fromindex.html. In thebuildversion this single file contains all the JavaScript code your application requires, in a compressed and optimized form. If you are developing a large-scale application, you can split it into so-called parts that can be loaded on-demand.
resource- . If your application classes contain appropriate#asset()meta information, those resources are automatically copied to this target folder. Your application is then self-contained and may be transferred to an external hosting environment.
api- contains a searchable API viewer specific to your application, created bygenerate.py api. As it is self-consistent, it may be copied anywhere and be run offlinetest- a standalone Test runner for unit tests you may create for your app, created bygenerate.py test
Manifest.json- every qooxdoo app has such a Manifest file for some meta informationconfig.json- configuration file for build process and all other integrated developer toolsgenerate.py- you use this platform-independent script for all kinds of tasks and tools, most importantly to generate the development and the deployment version of your app
