Today I have a Web application topic that I'm really excited about: Wicket (see editorial links below).
The site describes Wicket as "a Java Web application framework that takes simplicity, separation of concerns and ease of development to a whole new level." And there's no doubt, the developers aren't kidding about Wicket being easy.
You can edit Wicket pages and preview them using your preferred HTML design tools. Dynamic content processing and form handling are handled by a Java component model, which the developers say is "backed by POJO data beans that can easily be persisted using your favourite technology." ("POJO" stands for Plain Old Java Objects, Sun's data persistence model for Java, which seems to still have the Java mavens all riled up.)
The issue that impressed me in the Wicket model is that "Wicket does not mix markup with Java code and adds no special syntax to your markup files." You reference Wicket identities as HTML attributes and define component properties in Java, which allows designers and programmers to work independently (within the obvious constraint of having common goals). There is no need for special tools.
But there's much more to Wicket as it also includes security, transparent cluster support, reusable components, programmatic attribute manipulation (Wicket code can dynamically modify HTML attributes) - see the list of Wicket features for the full run down.
The architecture is pretty simple: application objects define Wicket applications while component declarations are made as attributes in HTML pages and an XML file declares the Wicket application to the Wicket server. That's all folks. See the Wicket "Hello World!" example to get a clearer picture of the components of a Wicket application.
This is a very exciting and powerful system that could become a real market force. Hopefully we'll see tools that simplify the system even more by making the creation of the Wicket applications and XML declarations even easier.
When you've had a chance to check this out let me know your thoughts on Wicket and should you start testing and even deploying I'd really like to hear your experiences.
P.S. The headline for this newsletter is from an English euphemism for being difficult or troublesome - "to be a sticky wicket" (see the editorial links for the derivation of this phrase).
Learn more about this topic
The etymology of "sticky wicket"