Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Scott Delap on May 18, 2007 04:35 PM
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.
5 Ways to Ensure Application Performance
How Java Developers Can Write Great SQL
Give-away eBook – Confessions of an IT Manager
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.
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.
> 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 ;)
it was a comment on the scope of comparison, not on wicket itself
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.
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*.
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. ;)
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
7 comments
Watch Thread Reply