Time for action - installing qooxdoo SDK
Go to the qooxdoo website (http://qooxdoo.org/download) and download the latest stable software development kit. Extract the qooxdoo SDK to C:\qooxdoo-x.y-sdk
. We have used qooxdoo-1.2-sdk
in the initial chapters and migrated to qooxdoo-1.4.1-sdk
in Chapter 11, Miscellaneous. You can use other versions as well.
Tip
If you want to download the qooxdoo-1.2-sdk
version, you can download it from http://sourceforge.net/projects/qooxdoo/files/qooxdoo-current/. You can find all other versions, too. If you could not download the qooxdoo SDK from the default mirror site, use another mirror such as Japan Advanced Institute of Science and Technology mirror site at the following URL:
The directory structure looks something like the one shown in the screenshot that follows.
Application
The application
directory contains all the applications that are included in the qooxdoo SDK package. We have already explored some of these applications in the qooxdoo website. You can also use these applications locally in your machine instead of accessing them from the qooxdoo website. Accessing the applications locally is faster than accessing them over the Internet. During development, use the local copy in SDK. You might have to build the applications, they're not already built. You can also set up the qooxdoo SDK in one of the development server machines and make these applications available to the team.
The following applications come with qooxdoo SDK and they are available under the application
directory:
demobrowser:
This application allows you to browse through most of the widgets to see the behavior of the widgets and select the one required for your application.feedreader:
This is a sample application that gets delivered with the qooxdoo SDK for you to get a feel of the qooxdoo application.playground:
This application allows you to edit the sample code or example of the widget and play with it before actually using the widget in your application. This is one of the nice things in qooxdoo.portal:
This is a simple application that demonstrates the low-level capabilities through the Browser Object Model (BOM) layer available in theqx.bom.*
package. This application does not use any of the high-level widget classes. High-level widget classes use these low-level BOM layers heavily to implement the widgets.showcase:
This application shows the main features of qooxdoo and provides a good overview of the qooxdoo framework.
Component
The component
directory contains all the components in qooxdoo SDK. Applications in the application
directory are meant for the end users, that is, the developers, and the applications in the component
directory are the internal applications used by the qooxdoo framework. You can still use these components, if you understand their usage. You will use some of the components such as inspector
and simulator
. But some components, such as skeleton
, are used internally by qooxdoo. The following directories come under the component
directory:
apiviewer:
This component is used by thegenerate.py
tool to generate the API reference for your application when you run thegenerate.py api
command.inspector:
This component is used by thegenerate.py
tool to generate the inspector instance for your application when you run thegenerate.py inspector
command. Theinspector
component is a powerful development tool used for live debugging. It can inspect any of the applications that are generated in inspector mode.simulator:
This component provides a testing and automation environment for qooxdoo applications. It can be used to simulate the user interaction in an actual web application. You can usesimulator
along withinspector
to automate the functional testing of your qooxdoo application.skeleton:
This component contains a template to create the qooxdoo application. This component is used by thecreate-application.py
tool to create an application.testrunner:
This component provides the unit testing framework. This component is used by thegenerate.py
tool to generate the unit test code structure for your application when you run thegenerate.py test
orgenerate.py test-source
command.testrunner2:
This component is an experimental unit testing framework delivered in qooxdoo 1.3 which will eventually replace thetestrunner
component in the future. This is lighter and has an HTML-only interface. You can run the test cases even on mobile devices.
Documentation
The documentation
directory contains the manual for the qooxdoo framework. The manual is in PDF as well as in HTML. You can refer to this manual to know more about qooxdoo.
Framework
The framework
directory is the main directory which contains code for the qooxdoo framework. This code also follows the structure of the qooxdoo application. The directories under the framework
directory are as follows:
source:
This directory contains the code for the qooxdoo framework. All the classes of qooxdoo are kept under theclass
directory. The top-level namespace or package of the qooxdoo framework isqx
. All the qooxdoo framework resources such as images are under theresource
directory and all the localization files are kept under thetranslation
directory.api:
This directory contains the API reference for the qooxdoo framework. You will need to refer to this most of the time. This is like javadoc for Java. Either you can use the online version from the qooxdoo website or access it locally in your machine.
Tool
This directory contains all the tools used by the framework. The directories under the tool
directory are as follows:
bin:
This directory contains many scripts, especiallygenerate.py
andcreate-application.py
data:
This directory contains a lot of data used by different tools for various reasons such as localization, migration, and so ondoc:
This directory contains internal documentation about the toolspylib:
This directory contains all the Python modules used by the qooxdoo frameworktest:
This directory contains the code for unit testing of various tools
What just happened?
You have set up the qooxdoo software development kit and explored the directory structure of the qooxdoo framework to get a brief understanding of the various components and applications that come with qooxdoo.