Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
[SF] Events
Last updated at 4:42 pm UTC on 31 July 2009

Introduction

Web applications have a Client/Server architecture. In Seaside you can code applications as in the traditional style of web programming, using message referencing tags and scripts, but the concept of tags and document-files with scripts, etc. is not in the object technology tradition. Actually, object technology encourages to recognize the real objects you're trying to represent and use.

SmallFaces is an effort in that direction, to see web applications just a set of objects that collaborate with each other, and know themselves how to write in a XHTML document, possibly using JavaScript and/or CSS, but without forcing the developer to acquire concepts particular to the latest web programming trend, which is always somewhat "evolving" to the everyday fashioned specifications.

In this web application context, true Smalltalk objects are in the server-side (for simplicity we will refer Seaside and Server as synonyms) and XHTML + CSS + JavaScript resides in client-side. This simple guide will show you how to communicate both sides, client and server, explaining the event handling of SmallFaces.

General Concepts

In the current, typical, web application scene, and this is independent of any web framework, we can find two forms of synchronization most widely used: AJAX (alternatives exists, but not so widely used) and Forms (Submit). Using one or another depends of your particular needs, although there is a moving trend to introduce AJAX functionality in web interfaces. Programming with AJAX is super easy when you have the possibility of define really simple interfaces, but it becomes harder when you have complex UI requirements, especially related with interactions, so carefully choosing which options fits more for your needs is not a bad idea at all. In the particular case of complex UI applications, consulting an experienced interaction designer is another interesting possibility.
SmallFaces (SF) provides event support for both variants of synchronization:

Known Bugs