So what to choose?
Actually it seems, that there are three streams of framwork concepts:
- The "traditional" ones based on JSP (or PHP alike), HTML; i.e., more or less extending JSP like Struts or building upon template engines like Velocity
- Special-purpose frameworks like Cocoon, that have a stronger focus on XML processing or content management
- Application-oriented frameworks like Google Web Toolkit or Apache Wicket.
The general idea of Wicket is to provide a very clean separation between html/css presentation layer and application logic. As a consequence each "webpage" is a duo of one html page and one Java class. The Java class looks a little bit like a Swing class, in the sense, that visual components are initialised and assembled like in a Swing project. One could create a text-box and put it into a form component for example.
However, the concrete visual appearence is controled by a html document aside, in which html code is used with wicket id-attributes that reference to the Java code. The consequence is, that the html code is pretty clean, there is actually no logic in it, and the complete logic in in Java classes. Wicket also abstracts from the Servlet session, so that the developer never needs to actually touch the "naked" Servlet API.
Additionally Wicket has a lot of additional features like a validation framework, support for authorisation and authentication and the like. Wicket is additionally very Java-oriented, meaning that there is hardly any (XML) based configuration required to get a Wicket application up and running.
To get started I suggest to check out:
- First check the Homepage. Unfortunately information there is rather brief. Also the examples are only a small extract of the actually available examples
- Download the recent Wicket distribution or get it from the SVN. IN the distribution you also find a large number (of hardly documented) examples
- The Framework documentation is an index about documentation on the Wiki.
- The Wicket Tutorial (Platinum Solutions)
- Wicket Javadoc
- Additionally I highly recommend the Maven 2 archetype from the Jetty group to get started. I explained that in a recent post.
- Additionally Wicket in Action is on the way for the patient ones.
Why do I have to write additionally a html document then, where these two components appear again like so