+1 for last point "Too many finals modifiers" 
and subclassing isnt always better than listeners - My 2cents 



  
    
Sudhir NimavatSenior software engineer. 
Quick start global PVT LTD.
Baroda - 390007
Gujarat, India

Personally I'm always ready to learn, although I do not always like being taught
  




________________________________
From: Ricardo Mayerhofer <ricardo.ekm.lis...@gmail.com>
To: users@wicket.apache.org
Sent: Tue, 22 December, 2009 6:49:02 PM
Subject: Wicket feedback

Hi all,
We've just finished with success a wicket project for a large online retailer. 
I think wicket is the best framework out there, but as any other project there 
is room for improvement. I will talk about some topics bellow, I hope it can 
help in some way.

- Separation of corcerns
I think we could get a better separation of concerns if page class were focused 
more in behavior and html were more focused in display (or view).
What I mean is, some times we have components that the main purpose is to add 
behavior, and we have to add extra markup just to satisfy wicket 1:1 mapping. 
Take CheckGroup for exaple, it is a component focused on behavior, even though 
we have to add a reference to it in HTML.

When creating composite input fields (like date), the usual way is to create a 
panel even if you are not interested in reusability. A interesting aproach is 
to insert a hidden text field in HTML mapped to a component that controls other 
components input. It makes easier to integrate with designer and to preview in 
browser. If we didn't have this limitation the hidden input would not be 
necessary and the development of behavior focused components would be easier.

One thing that bothers me is when our designer move things around in HTML and 
we get "added a component in code but forgot to reference it in the markup" 
error, because of component hierarchy. Html tags position is a view problem not 
a behavior problem, so why bother in java?

Another issue, is when we want to change the class of a div, for example, and 
have to change our whole page hierarchy in java, just to manipulate that tag.

So I think a hierarchy more focused on components behavior (for example taking 
care of inherited models and inputs), rather than tags position in HTML would 
be better. This would make wicket more flexible and easier to work with.

- Too many finals modifiers
It's hard for a API or framework designer to foresee all uses and unxepected 
situations its users may face in day to day development. Final modifiers places 
a additional challenge when facing these situations. In project were deadlines 
are in place, there is little room for submiting a request and waiting for a 
new version to be released. Furthermore, unfortunately, it's not possible to 
mock final methods making it harder sometimes to test wicket related 
classes/components. What we had to do internally, is to have our own version of 
wicket, mainly to remove final modifiers when necessary, a clear violation of 
open/closed principle.

- Ajax
Wicket offers no stateless ajax and often changes HTML id, which makes harder 
to integrate with a 3rd party ajax framework. Is there any hope for constructor 
change?

Please let me know your thoughts, keep up the good work.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


      The INTERNET now has a personality. YOURS! See your Yahoo! Homepage. 
http://in.yahoo.com/

Reply via email to