- Andrew Kos
- Bill Burlein
- Bryan Williams
- Christian Vozar
- Jeff Brown
- John Kraus
- Joseph Mak
- Mark Daugherty
- Matt Van Bergen
- Melissa Geoffrion
- Michael Kang
- Michael Chan
- Michael Hodgdon
- Mike Motherway
- Molly McDaniel
- Nadia Maciulis
- Pat McLoughlin
- Paul Michelotti
- Puru Hemnani
- Rohit Srinath
- Ryan Lunka
- Tom Kelly
All Blogs
CITYTECH Blogroll:
The Framework That Helped Me Enjoy Web UI Programming
Friday, October 30, 2009
I hate web UI programming. I despise web UI programming. You have all that tag soup. Tag libraries and HTML and javascript and CSS hacks and business logic, oh my! No matter how much you fight to keep it all separated, it seems to run together.
You have to use clunky flows and add all this extra code to pass session variables around, held together with string constants. And if not that, then you have to deal with bloated frameworks that were designed by tool vendors (*cough* *JSF* *cough*) and don’t solve the tag soup problem. (Granted, the guys at JBoss have taken a lot of the hurt out of with JSF with Seam.)
MVC, we have tried and tried, and I personally never seem to be happy that I have actually done a good job modeling my implementation after you. The Model 2 style of Actions and Flows is awkward at best and confusing most of the time. Why can’t we write webapps like we write desktop apps, using a component-based model and none of this tag soup mumbo jumbo?
In comes Apache Wicket. Wicket is component based, but it is a lot more like Swing than JSF. You don’t have to use a stateless programming model. You can keep references to objects without putting them in the session. For real. It would be hard not to do it that way with Wicket.
Wicket separates the presentation markup from the business logic. For real. It is actually separated. I have been working on a large project using wicket for the past 8 months and we have done this again and again. The framework even enforces it. Your designer could make changes to your copy of the mockup that you put in source control and not have to worry about breaking your code. GWT (which is also component-based and liked by me) doesn’t do that. But having the designer be able to make the changes to some weird CSS bug in IE 6 is a dream come true for java developers who build highly functional websites that are ugly.
You can also do all the UI updating you can do with Swing and Wicket does the same things with AJAX. Plus, you don’t have to write any javascript! For real. It just works. Even in IE 6.
So, for those of you who hate Model 2 MVC (Struts, Struts 2, Spring MCV and Spring Webflow, and even dare I say it, Grails, etc.) and want something where the idea of creating a reusable component isn’t an exercise in frustration and you want to get rid of the tag soup (sorry JSF), then give Wicket a try.
Matt Campbell
Recent Posts
- Invisible requirements within Business requirements
- Building a better Options Predicate
- Javascript, This, and You.
- Extensionless URLs with Adobe Experience Manager
- The Life of a Tester in Adobe CQ World!
- Limitations of the CQ Parsys Model and the Implementation of a Nested Paragraph System
- Google Analytics and AEM: No JavaScript? No Problem.
- Using Apache FOP to generate a PDF document based on a form submission data
- Configuring SAML in AEM 5.6
- Why You Should Get the WCM Experts Involved Early