Hi Michael,
I haven't got a matrix comparing Click, Tapestry and Wicket. I have
not used Wicket so I can't really compare it to Click, I have however
used Click, Struts, Spring MVC and Tapestry commercially.
First up I would just like to say, if you are happy with whatever web
framework you are using that is great. Also I have a lot of respect
for anyone who develops or contributes to open source development
including all of the above mentioned frameworks. It is a very
altruistic thing to do given the amount of time we all have.
I would like to briefly discuss my experience using Click with Cayenne
commercially. I have had the fortunate experience to join an company
which uses both of these technologies. This provides the benefit of
seeing commercial developers use the framework and enables me to
experience and work on its rough spots.
Click is unusual in the Java web framework area, it that you don't
spend much time writing HTML code. In an application you generally
have a border page, which wraps you application pages, providing the
theming and common look and feel. This is where I invest some time
making the HTML pretty and using a good style sheet.
Most of the other HTML content pages include only a couple of lines:
$form
$table
This is because Click's Form and Table controls automatically render
themselves. As a result when working with Click, you spend more time
writing Java page classes, where you define controls and event
handlers. It feels somewhat like Java GUI code.
At my company we are now starting to get some really nice Click
Cayenne design patterns happening, which are very productive. An
example of this is provided online at:
http://www.avoka.com:8080/click-examples/cayenne/cayenne-form-page.htm
If you look at the source code of this page, the neat thing is how
little Java code you have to write. As a result we are now getting
really good productivity.
The Form and Table controls won't do every layout or style you may
want, but if you can work within their limitations they are hard to
beat.
One of the limitations with Click compared to Tapestry and Wicket is
that it does not provide page persistence. If you have some state you
need to keep, you will have to store it in the session or in a
HiddenField. Please note however the Form request/state/validation
cycle is provided automatically.
While Click strives to be an easy to learn framework with very good
documentation, many developers struggle with the whole Page event
processing model. I think this is due to people not bothering to read
the documentation or trying to understand how it works. If you are
learning Click please make sure you understand the event processing
model, read the cheat sheet and Page documentation.
Looking to the future, Click will probably join the Velocity as a
sub-project, when Velocity becomes a top level Apache project. We are
looking at how we can better leverage meta data out of Cayenne, with
some extensions perhaps or looking at the DataViews work. Other work
todo includes adding Table column sorting and some support for a grid
layout with the Form control.
I hope this gives you better feel of Click.
regards Malcolm Edgar
On 10/8/06, Andrus Adamchik <andru..bjectstyle.org> wrote:
> I agree - I think we should all exercise restraint in promoting pet
> technologies on this list.
>
> Andrus
>
>
> On Oct 7, 2006, at 7:51 PM, Lindsay Steele wrote:
>
> > Andrus,
> > I was not questioning your opinion or right to have an
> > opinion. I just thought that if everyone else wanted to go on
> > about frameworks I might as well jump in with my views as well but
> > in the back of my mind know that it has little to do with cayenne
> > itself. I was questioning myself more than anything.
> >
> > Andrus Adamchik wrote:
> >>
> >> Regarding my response to the announcement, this is my opinion from
> >> the personal experience that includes JSP, Struts, Tapestry, Click
> >> and a bit of JSF. Just like your reply was yours. I can have an
> >> opinion, right? :-)
> >>
> >> Andrus
> >>
> >>
> >
>
>
This archive was generated by hypermail 2.0.0 : Sun Oct 08 2006 - 02:56:38 EDT