[aida] Re usable Components in Seaside & Aida

Janko Mivšek janko.mivsek at eranova.si
Fri Jan 30 15:51:40 CET 2009


Hi Frank, welcome to the list!

Frank Young pravi:
...
> In Seaside, one can call this LoginComponent
> 
> 		self call: LoginComponent new
> 
> to have a login page pop up, or one can render an embedded LoginComponent
> within the current page:
> 
> 		html render: loginComponent
> 
> similar to how a Java applet can function either as an applet or as a Java
> application (if called from an AWT Frame).
> 
> I think this is one of the strong points of Seaside in permitting
> WAComponents to be used in different contexts, so that programmers can
> easily develop a library of reusable components.

Yes it is, by for what cost? IMO inacceptable high one, so in Aida we
are thinking in different direction. See below.

> From what I have seen of Aida, it uses a state machine-like process to
> transition and navigate among different web pages rather than Seaside's
> subroutine-like flow control.  I wonder, though, how Aida supports reusable
> components given this distinction.
> 
> What would a re-usable Aida Login and LoginApp look like?  Could it be both
> called and embedded as in Seaside?

Nico already shown well how Aida reusable components look like, while
for traditional login you can see the WebAdminApp>>viewLogin.

Yes it is state machine-like approach, which is good and has proven to
scale well in terms in complexity, but can become quite complicated for
simple things like confirmation dialogs. Here Seaside is definitely
better, but as said, for too big cost.

What we will do is an introduction of stackable modal windows inside one
page.

Like yes/no confirmation dialogs. As those dialogs you can see on
Facebook and similar sites recently. These will be Ajax made windows,
with complete form support. They will be instances of WebComponent.

So, kind a hybrid approach: usual Aida one up to the page, then
tree-like control flow with stackable modal windows inside that single page.

What about back button? Back button will lead you out of that page full
of stackable windows, but forward button will let you back to exactly
the same state as before. If leaving this page is not desirable, we will
disallow it with additional popup window.

So, that way, we will preserve all Aida strengths while close the last
gap to the competition!

Best regards
Janko



-- 
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si


More information about the Aida mailing list