Seaside Tutorial
Software Architecture Group


What you are going to learn


Welcome to the Seaside Tutorial by the Software Architecture Group (Hasso-Platter-Institut).

Primarily, the tutorial is intended for students attending the 3rd term course "Software Engineering I" to get started with their Seaside projects. Please feel free to use it for your own projects. The tutorial has 12 chapters (for the table of contents, see below) and introduces a sample application to explain the use of the main features of Seaside. For feedback, please send an email to the authors (see "About us").

An Introduction to Seaside

Book Cover
Note: The print version of the book is still based on Seaside 2.8 but will be updated soon.
The tutorial and additional content is also available in printed form. You can order the book via Lulu:

BibTeX Entry

Book description

Note: The print version of the book is still based on Seaside 2.8 but will be updated soon.

Seaside is a Web development framework implemented in Smalltalk. It allows the easy creation of powerful Web applications using high level abstractions on the application components and on the underlying hypertext transfer protocol. In doing so, it builds upon the strengths of the Smalltalk object-oriented programming language and transcends many of the common practices needed in other, less dynamic languages.

This book explains the major concepts of Seaside in a clear and intuitive style. A working example of a ToDo List application is developed to illustrate the framework's important concepts that build upon each other in an orderly progression. Besides the notions of users, tasks, components, forms and deployment, additional topics such as persistence, Ajax and Magritte are also discussed.


First and foremost, we wish to thank the developer team of the Seaside and frameworks, with Avi Bryant, Julian Fitzell, and Lukas Renggli leading the way.

Furthermore, we are grateful to all the people who have helped and still help us in improving the quality and contents of our tutorial. The following people have given us extensive feedback:

We also thank the many HPI students and everybody else who has given us hints on how to improve the tutorial.

We would like to thank three people especially: Norman Holz, for writing the section about session handling in the fine print chapter; Tobias Pape, for his constant support with LaTeX (book only); and Robert Krahn, for a thorough code review and refactoring.

Table of Contents