BT

A Wicket User Revisits JSF

by Scott Delap on May 18, 2007 |
Peter Thomas recently took a second look at JSF after developing most recently with Wicket. The evaluation was prompted by his recent writing on migrating from Spring MVC / Webflow to Wicket. Many readers of his thoughts on that process were curious if he'd seriously considered JSF. Thomas uses the creation of a simple discussion forum for his comparison of JSF and Wicket. He shows the various portions of the web application side by side including web.xml, dependencies, and business/presentation components of each page. Some of the highlights of his findings:

Project Structure -Wicket does not require any extra XML config like you have faces-config.xml for JSF. It also does not require JSPs.

Footprint and Dependencies - Thomas uses Jetty in his evaluation. Removing JSP support from Jetty for the Wicket version saves over 5MB. JSF has around 3MB of library dependencies compared to the 2MB for Wicket.

Page Complexity - In Wicket complexity moves into Java code. In JSF a large amount of complexity is in the JSP pages themselves.

Comments on Thomas' comparison consider if it is a fair one:

Can you fast forward to 2007? Look at JBoss Seam which makes JSF development much more pleasurable. Don’t get me wrong, I like Wicket and its philosophy but this isn’t a fair comparison to modern day JSF, especially with a trivial example as you’ve shown.

Another reader writes however:

Excellent article. I’ve worked with both technologies, but seeing them side-by-side like this was very easy to follow and clear to read. While some of the vendor-specific technologies mentioned above might make JSF easier, I think your comparison was fair.

Hello stranger!

You need to Register an InfoQ account or to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Wow by Jacob Hookom

Footprint and Dependencies was a comparison point? Wow, I don't know if I can spare an extra MB of dependencies. The point of moving page complexity into java code as a pro for wicket is somewhat misleading, considering you can do the same in JSF by simply placing a "bind=#{foo.bar}" in any JSF tag/component and accomplish the same thing. And Wicket still faulters with reflection-- EL/property string-- same thing. I have to say though, the zero config works really well for small, 3 page apps.

Re: Wow by Eelco Hillenius

Wicket still faulters with reflection-- EL/property string-- same thing.


The example uses property models, which indeed are based on introspection (like EL). However, you can just implement IModel directly, and you can build your application as statically typed as you wish.


I have to say though, the zero config works really well for small, 3 page apps.


And 1000 'page' apps alike. You don't *need* configuration with Wicket like you would with JSF.

Re: Wow by Tim Fennell

> I have to say though, the zero config works really well for small, 3 page apps.

That's very unbecoming of you Jacob. It's almost (well, maybe not quite) like saying EJB2.0 scales better than 3.0 because it uses so much more configuration ;)

Re: Wow by Jacob Hookom

it was a comment on the scope of comparison, not on wicket itself

Summary: Bloke who likes to do everything by hand doesn't like to use tools by Steve Jones

A whole JSF article using "Netbeans" (Studio Creator 2 would have been a better bet) and the comparison is on size of server executable (got to save that disk space, its such a problem these days) and the JSF bit being a bit of a pig to work with.

THAT IS THE WHOLE POINT. This reads like someone comparing RMI with socket writing and complaining that RMI was a complete pig, while not using any of the RMI tools. Its very sad how we continue to have an industry with an obsession with hand cranking pages.

Re: Summary: Bloke who likes to do everything by hand doesn't like to use t by Peter Thomas

Size of the server executable and the number of dependencies are just the first in a series of side by side comparison points and the full blog post has more details, (including comments from JSF users acknowledging that the comparison is fair).

BTW Wicket has tools as well, there are plugins for Eclipse and *NetBeans*.

Re: Summary: Bloke who likes to do everything by hand doesn't like to use t by Eelco Hillenius

Its very sad how we continue to have an industry with an obsession with hand cranking pages.


If it wasn't for these pesky programmers with their obsession for 3GL languages, everyone would have been using 4GL tools by now. ;)

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

7 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2013 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT