1 Installation

2 Design and Architecture

2.1 The SBApplicationModel

2.2 Control Flow in seaBreeze Applications

3 Start a new application

3.1 Using the Editor

3.1.1 The Toolbar

3.1.2 The Preview Area

3.1.3 The Element Tree

3.1.4 The Palette

3.1.5 The Element Editor

3.1.6 The Status Bar

5 How to display a collection of objects

seaBreezeDesign and Architecture


Basic Architecture

The seaBreeze architecture is quite straight forward:

  • A seaBreeze application is a subclass of SBApplicationModel, which itself is a WAComponent, which is a base class from Seaside. So, a seaBreeze application is a Seaside component.
    The base application class is accompanied by a helper class to serve files for the web. This class is a file library, methods return the contents of files; which may be a JPG-file, a Javascript file or a CSS-file.
  • A seaBreeze application is a web application with one user interface (or GUI): a web page. This page can be designed using the interactive seaBreeze editor in a web browser. The web page layout is stored in a windowSpec method of the application class as an XML string.
  • Input oriented elements of the web page are connected to aspects of the application, each aspect is represented by an instance variable of the application class, along with some accessor methods.
    Other presentation oriented web page elements may access aspects from the application, which have to be accessible via a method.
  • To ensure the uniqueness of names within a seaBreeze application, all associated classes are organized into one application namespace.
  • And in order to support an easy way of publishing the code for a seaBreeze application, everything described so far is organized into a Store package, ready for you to publish, and easy to deploy as a parcel.

The following chapters explain the ideas behind the SBApplicationModel, how it is suppose to be used, and which hooks are build-in for the programmer.

The control flow of a SeaBreeze application can be quite complex, because the underlying SeaSide framework already takes care of it. One chapter therefor explains, how SBApplictaionModels may delegate controll to each other, or may embedd each other.

©Georg Heeg ek 2008, published under MIT License