There's been a lot of interest in Continuation based web frameworks lately - come to StS 2004 and hear how to use Seaside, the most mature of them. Seaside has been implemented for both Squeak and VisualWorks - this Tutorial will show you how to make it sing:
tutorial (extra cost applies)
Julian Fitzell and Andrew Catton: UBC
Monday 2:00:00 pm to 5:30:00 pm
Abstract: Dijkstra may have taught us a half-century ago that GOTO was a bad idea, but web development has yet to catch up. Even modern frameworks, such as Struts and WebObjects, offer no alternative to the web's inherent GOTO: moving from one page to the next is still a plain one-way jump. This hands-on, half-day tutorial will show participants how to harness the Seaside framework to bring the power of subroutines to the web.
Seaside avoids the tangled and brittle mess of interdependent pages common to web applications by hiding the mechanics of the HTTP request/response loop. Each page or form acts much like a subroutine, returning a value to its caller based on user input. Complex workflows can be described by using existing conditional and looping constructs and "calling" other pages -- just as you would write any other application logic. The improvements this brings to web applications, in terms of reusability and maintainability, closely mimic the advances made by structured programming long ago.
Seaside sports callback-based form widgets (no manual request processing), transparent embedding of pages or even whole applications, and a library of prebuilt components. It also provides a complete web-based development environment, with code browsers, inspectors, debuggers, and profilers, all implemented using Seaside itself.
Along with coverage of framework basics, special attention will be given to three topics:
- writing cleanly reusable pages and components;
- separating page logic (how an individual interaction works) from application logic (how interactions are strung together to form workflows); and
- proper management and support of the all-important browser back button.
Participants should bring a laptop or be prepared to pair up.
Bio: Julian Fitzell is one of the lead developers of Seaside and an active contributor to the Squeak Smalltalk community.
Andrew Catton is a longtime Seaside user and contributor.
Both are located in Vancouver and use Seaside in their development roles in the Agile Projects Group at The University of British Columbia.
See you in Seattle!