[Seaside] [ANN] Seaside 2.0

Avi Bryant seaside@lists.squeakfoundation.org
Tue, 22 Oct 2002 13:59:04 -0700 (PDT)


Hi all,

I'd like to announce an initial release of the Seaside 2.0 web application
framework.  This is a complete reimplementation of Seaside, with a
highly layered design and simpler, more "Smalltalk-like" semantics than
the original.

A changeset is available from http://beta4.com/seaside2 , as is a tutorial
(for those who want to get a general sense of how it works) and some
low-level design documents (for those who have an interest in how it's
implemented).

This is a preview release - Seaside 2.0 is still a work in progress.
What this release includes:

- Linear control flow.  Rather than providing handlers at the individual
request level, Seaside models an entire session as a continuous piece of
code.  To put it another way, Seaside web applications block on user
input, allowing a much more natural and powerful development style.
- Callback-based event system.  Seaside provides an HTML generator that
associates blocks, not urls, with links, buttons, and form inputs.
- Solid component model.  Implement stateful widgets and pages as
reusable and embeddable component classes.
- Backtracking safety.  All of the above are designed to work consistently
and reliably in the face of the browser back button.  A transaction system
allows the developer to selectively limit the scope of backtracking.
- In-browser development tools.  Seaside provides an integrated web-based
inspector, system browser, profiler, and notifier.

What this release does not yet include:

- A fully fledged View library.  In time, I expect to be able to provide a
large number of widgets and layout managers to facilitate programmatic UI
design.
- A templating system.  Earlier versions of Seaside had a very
sophisticated template system, which would be nice to adapt and improve.
- Good ways of dealing with static content, including images, .css files,
and non-generated HTML.

All of these features are missing largely because I believe they will be
best explored through community feedback.  After people get a chance to
play with the base framework, I'd love to hear some discussion on how the
above could work.

Cheers,
Avi