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());
- Custom Lister - an example of defining a simple list control.
- 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.
- The Jitsu Approach - discusses the page compilation process in more detail.
- 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.
- The Jitsu Approach - discusses the page compilation process in more detail.
- 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.
- The Jitsu Approach - discusses the Control Hierarchy object mode in more detail.
- Jitsu
Jitsu is a codename for an Attap project to build a user interface framework for rich web applications, using XHTML and CSS.