[Seaside] Seaside Thoughts and Questions
Daniel Drasin
dan at drasin.org
Sat May 3 15:05:48 CEST 2003
Here are some email dialogs i had recently with Avi (who suggested
i post the threads). I will post these as separately.
--------------
From: Daniel Drasin
To: avi at beta4.com ; julian at beta4.com
Sent: Saturday, April 26, 2003 5:03 PM
Subject: Seaside - love it!
Avi & Julian,
Been using seaside for a month or so and love it - wanted to let you
know. (Writing a game engine and wanted to quickly put a web front end
on it. It was quick and easy - a very nice change from request/response
hell).
At any rate, having mulled it over i had a couple of thoughts/questions
and thought you guys might know that answers.
- anyone done any work on porting seaside (or something like it) to
java?
- anyone thought about decoupling the application response from the UI
building? (e.g. adding an extra layer of indirection [command pattern]
to encapsulate all UI interactions - see example below.). This would
allow users to swap out different front ends (HTML, VB, Java, etc.).
This becomes really powerfull now that the "request/response" paradigm
is converted into the standard control flow of client-server
applications
- now you can front end a single set of application logic (not just
business logic) with all the different client interfaces types (without
needed
extra logic on the client).
-anyone done any work to implement a server monitor for seaside (keeps
track of users, their requests, etc. and presents them to through an
admin UI)? I couldn't find any out there so i wrote a quick and dirty
one, but would love something better.
At any rate, this stuff is really unique and first rate. I hope it
really catches on!
Cheers,
Dan
--------now---------------
renderContentOn: html
html form: [
html heading: count.
html submitButtonWithAction: [self increment] text: '++'.
html space.
html submitButtonWithAction: [self decrement] text: '--'
].
decrement
count = 0
ifFalse: [count := count - 1]
ifTrue: [self call: (WADialog new message: 'Let''s stay away from
negatives.')]
--------now---------------
--------instead---------------
renderContentOnHTML: html
html area: [
html heading: count.
html addSubmitButtonNamed: 'PlusButton' text: '++'.
html space.
html addSubmitButtonNamed: 'MinusButton' text: '--'
].
addBindingToUI: aUI
aUI bindActivationOf: 'PlusButton' to: [self increment].
aUI bindActivationOf: 'MinusButton' to: [self decrement].
decrement
count = 0
ifFalse: [count := count - 1]
ifTrue: [self call: WAXDialog forMesage: ''Let''s stay away from
negatives.' in: self]
--------instead---------------
Of course, WAXDialog would invoke the right kind of UI/dialog depending
on what kind of client was connecting. And this may not be the
right way to structure it (once class for all UI creation, binding, etc.
- but that's consistent with the Seaside example...)
--
Daniel Drasin
dan at drasin.org 8612 Long Meadow Ct.
(410)-461-6168 Columbia, MD, 21045
More information about the Seaside
mailing list