Document Information

Last modified:
2007/05/31 17:40 by thron7

Application Startup

Some details about the initialization of a qooxdoo application.

Loading phase

  1. Load HTML
  2. Load the JavaScript files

Before the load event is triggered

  1. Merge user settings from previously defined qx.Settings.
  2. Load qooxdoo core (OO, Array, String, validation, Object, ...)
  3. Load Logging module
  4. Instantiate qx.Init
    1. attach event handler to onload, onbeforeunload and ununload

The main application must be set before the load event occurs. This is normally done in a script tag inside the main HTML file:

    qx.core.Init.getInstance().setApplication(my.namespace.Application);

Inside the onload event handler

qx.Init._onload:

  1. looks up the default application component from the settings. The default is qx.component.init.InterfaceInitComponent.
  2. delegates initialization of the framework to the application component

InterfaceInitComponent starts the three loading phases:

  1. initialize
  2. main
  3. finalize

Initialization phase

  1. Instantiate qx.ui.core.ClientDocument. ClientDocument is the basic widget of all qooxdoo applications. It is the parent of all children inside your application. It also handles their resizing and focus navigation.
  2. Instantiate qx.event.handler.EventHandler. The event handler themselves get not yet attached.
  3. Call initialize of the user defined applications class

Main Phase

  1. Call main of the user defined applications class.
  2. Start preloading of images

Finalization Phase

This phase is started after the image preloader system has finished loading.

  1. Flush global queues. This creates the DOM nodes of the widgets and applies styling.
  2. Global event handler for mouse, key and focus events are registered.
  1. Call finalize of the user defined applications class.

This remainder of this document applies to qooxdoo 0.5 and is not valid for the current release.

Loading phase

  1. Load HTML
  2. Load qooxdoo.js file
    1. Merge user settings from previously defined QxSettings.
    2. Load the debug console
    3. Create an application instance
  3. Application Initialization (will be started on the “load” event of the window)

Initialization phase

  1. Print version and build information
  2. Output available classes
  3. Output client informations
  4. Application starts objects “pre” method (which can be defined through the qooxdoo application developer)
  5. Application fires “pre” event
  6. Create an instance of QxClientWindow
    1. Registering unload event to dispose application before leaving the document.
    2. Create an instance of QxClientDocument and assigning “document” element
      1. Create an instance of QxFocusManager to handle the focus handling inside the client document, which behaves like a typical focus root.
    3. Create an instance of QxEventManager and assign events to this instance.
  7. Remapping methods from QxParent to QxApplication so that the application behaves like the client document in some aspects (add or remove children, ...)

Main phase

  1. Application starts objects “main” method (which can be defined through the qooxdoo application developer)
  2. Application fires “main” event

Preload phase

  1. Wait for initially visible images to load

Widget phase

  1. Application starts QxWidget queue flush
    1. Create DOM elements and assign styles, attributes and events
    2. Layout children using layout implementation of each parent
    3. Flush of display queue. Add created DOM elements to the tree in a heavily optimized way.

Post phase

  1. Application initializes “post” handling
    1. Application starts objects “post” method (which can be defined through the qooxdoo application developer)
    2. Application fires “post” event

Postload phase

  1. Loading of initially invisible images

Information

Last modified:
2007/05/31 17:40 by thron7

Account

Not logged in

 
 

Job Offers

To further improve qooxdoo we are seeking javascript developers. Read more...

Rich Ajax Platform (RAP)

RAP uses qooxdoo, Java and the Eclipse development model to build rich web applications. Read more...

qooxdoo Web Toolkit (QWT)

Similar to GWT this framework allows to create impressive qooxdoo applications just using Java. Read more...

Pustefix

Pustefix is a MVC-based web application framework using Java and XML/XSLT. Read more...

 
SourceForge.net Logo

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.