Learning Web Development with Seaside 3.1

What is Seaside?

Seaside is a free, open-source (MIT License) web application development framework written in Smalltalk. It originated in Squeak, a free, open-source implementation of Smalltalk, and has been ported to other dialects of Smalltalk, including commercial dialects from Cincom and GemStone. In this tutorial you will develop a Seaside application and understand how the framework addresses the various web architecture challenges.

By James Foster of GemTalk Systems LLC

As a junior-high student in 1971, James Foster discovered the local university's computer lab and learned Basic, Fortran, and assembly. After trying other careers (commercial aviation and law), he returned to computer programming and was introduced to Object Oriented Programming on the Macintosh in the 1980s. Since then James has worked on large system (primarily in healthcare) and introduced agile practices to the teams he has lead. James has presented at OOPSLA and other technical conferences. James Foster is on the Smalltalk Engineering Team at VMware, Inc. and is an evangelist for the Seaside web framework.

These materials are made available under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.

  1. Installing 'Seaside One-Click Experience'
  2. 'Hello World!' in Seaside
  3. Exploring Seaside Examples
  4. Associating Domain Objects with Components
  5. Exploring some Tools
  6. Saving State on the Server
  7. Continuations and Subroutine Calls
  8. Smalltalk
  9. Incorporating Images and CSS
  10. Embedding Components
  11. Creating a Form
  12. Supporting User Login
  13. Looking under the Hood
  14. Using Monticello
  15. Using GemStone in a VMware Appliance
  16. Installing Mac Native GemStone
  17. Using GemStone


If you downloaded any of these materials before 21 December 2016, you might be interested in the errata showing corrections and clarifications suggested by earlier readers. If you find anything that is wrong or just confusing, please let me know by posting a comment to my blog. This will help improve the materials for other readers. Thanks!

More Information on Seaside