Glossary

Terms that we use in this documentation:

Bubbling

In Jitsus, many events use an "event bubbling" paradigm - a source control like a Button generates an event, which is then bubbled up the Control Hierarchy until it hits either a control that consumes the event, or the root control (the "page control").

  • Master Detail - illustrates how to bubble an "selectItem" event.
Control

A Jitsu control consists of a collection of properties, a body, styles, and a script.

All Controls correspond to Javascript classes. Javascript controls classes implement getValue and setValue methods to get and set properties on the control. For example:

    // Make a controls text be uppercase
    var control = apps[0].getControl(ID_myButton);
    control.setValue(ID_text, control.getValue(ID_text).toUpperCase());
Crunching

The process of taking a HTML/Javascript source document and processing it to make it compress its file size whilst preserving its appearance to the user. Crunching works by removing redundant whitespace in the document. The Jitsu cruncher also renames Javascript variables using shorter machine-generated names.

Page Compiler

The Jitsu Page Compiler ("compiler" or "page compiler") takes source pages written in a combination of XHTML, Javascript, and Jitsu markup. It processes these pages and generates a set of output files containing XHTML, Javascript, and CSS. The generated files are what the end user loads into their browser when they run a Jitsu application.

Rendering

In Jitsu, rendering is the process of walking over the Control Hierarchy, converting all controls into their DOM counterparts. Whenever the Control Hierarchy is changed, Jitsu automatically re-renders the DOM to generate the new HTML that the user sees.

Control Hierarchy

When a compiled Jitsu page is loaded into the browser, the first thing the page does is to construct a high level hierarchy of presentation objects - a mixture of controls and canned HTML fragments. This hierarchy is called the Control Hierarchy (or CHOM). The Control Hierarchy supports data binding and a richer event model than the DOM.

To generate the HTML that the user sees, the Control Hierarchy is "rendered" by the page renderer, converting it into a tree of DOM nodes. In Jitsu, DOM nodes only contain the final rendered HTML the user sees - all interactivity and application logic are held in the Control Hierarchy.

Jitsu

Jitsu is a codename for an Attap project to build a user interface framework for rich web applications, using XHTML and CSS.