Sunday, March 15, 2009

ICS 499: Wicket

Introduction
This week the Devcathlon team got reacquainted with Wicket. The assignment was to add and modify menu bars to make the page dynamic. Wicket is a nifty framework that works hand in hand with Java to develop web applications. As neat as Wicket may seem, it does have a dark underbelly that makes development somewhat unpleasant.

Wicket and Java
After spending a week working with the assignment I see the strength of Wicket and how nice it works with Java. With Wicket I was able to make changes to the menu tabs without having to adjust every html tag. Part of the assignment had us working with html files. Its a pain in the butt having to edit all files containing html scripts its tedious and boring. Using Wicket reduces the repetition that comes with html tag.

Wicket Issues
Over the week as I developed the menu tabs I noticed the structure and syntax in Wicket to be strange. It is difficult keep track the difference between a Model, Component, and Property. I do have the Wicket In Action book but when searching for needed information under 5 minutes a book is not helpful. For example, while implementing the tab highlight I had trouble trying to figure out if I should use SimpleAttributeModifier or AttributeModifier. The documentation never made clear why the SimpleAttributeModifier should be instead of the AttributeModifier. By the Wicket documentation needs a lot of work. For a framework I found the Wicket API to be poorly written and lacking in detail for much of the methods. One should not be afraid of using Wicket because of I have mentioned. The Wicket framework works quite well, having implemented the DueDates system.

Conclusion
The learning curve for Wicket is quite steep I would spend a lot of time familiarizing oneself about Models and Properties. A book would be really helpful with the learning process however, I do not want to be one that says one book is better than the other.