[ANN] Seaside 2.0
Avi Bryant
avi at beta4.com
Tue Oct 22 20:59:04 UTC 2002
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
More information about the Squeak-dev
mailing list
|