click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bob Schellink <sab...@gmail.com>
Subject Re: Proposal: drop stateful page support
Date Mon, 19 Jul 2010 07:13:49 GMT
On 18/07/2010 18:21, Adrian A. wrote:
> This feature is since ages in there, and already just too many
> applications made use of it :(.
> (Had myself too converted some Wicket apps to Click)
> 
> I understand that it complicates the Click codebase, and it also has
> some bad impact on performance, 


I doubt it impacts performance. In fact it should be faster since the controls doesn't have
to be
recreated.


but it is a very useful feature
> especially for RIA apps and for quick prototyping

I've not had any indication that Click is used or even a good fit for RIA applications. GWT,
Flex
and Silverlight are better suited for RIA technologies.

> - people just love it


I've had the opposite experience while doing maintenance work on an existing Click project
which
used stateful Pages. The problem I've found is that a stateful and stateless pages takes a
very
different approach to write and so they end up looking and behaving different. Its like using
two
different frameworks (think Struts+Wicket) in the same application. And because this is a
"feature"
promoted by Click, developers feel compelled to use it.

Another problem is that stateful pages are full of edge cases and the Javadoc are littered
with:

 Please note: don't do this on stateful pages

Over the weekend I've realized that FormTable doesn't work properly with stateful pages and
might
not be possible to fix at all.

All these edge cases leads to leaky abstractions and turns a simple framework into a complex
one.


> (and yes, they abuse it too, but they get the job done very fast this way).
> 
> Would it be possible at least to have this feature as an external
> project though (e.g. by an extended functionality of PageInterceptor or
> some other way) ?


I'm sure it would be possible to add stateful pages back in through an interceptor or some
other
means. But at the end of the day its about the right tool for the right job. If an application
needs
stateful pages isn't Wicket/Tapestry/JSF a better tool?

Bob

Mime
View raw message