There has been a lot of buzz about JavaServer Faces. Since its release, people seem to love it, or hate it. A lot of the hatred revolves around the JSP tags that you have to work with. Hans Bergsten shows us the flaws, and then shows us, what he thinks, is a better way.
This kind of article is great. I totally agree with Hans that the JSP approach is really clunky, and have mentioned some of these reasons in the past. Just look at a fairly complicated JSF page and you will wince. Show that to a designer and they will cry.
The component model itself isn’t that bad, and Hans gets to that. JSF also really needed to lift the bar and give us some awesome components right off of the bat, rather than leaving them to the community/third parties. If they could have wowed us with amazing controls, then more people would be jumping for it IMO.
JSF: Promising
Tapestry: Today
June 10th, 2004 at 4:00 am
Blah… I’m not sold on either one… Web pages just aren’t that complicated, and when you start trying to make them that complicated, you should really be using something else.
June 10th, 2004 at 4:10 am
JSF: Future
Tapestry: Past.
Webwork: Jason the troll.
June 10th, 2004 at 2:33 pm
I agree with Jason on this one. Taking a component model too far adds too much complexity to what’s fundamentally a pretty easy task. A big part of the problem is that things like JSF try to model a web page as a very fine grained event-driven GUI – and web pages don’t really work that way. The model doesn’t match the reality, and developers end up programming to a rich-GUI paradigm when the underlying physical reality is a fairly dumb HTML/DHTML combination. If you’re programming to fine grained events, and your actual infrastructure is ultra-coarse request-response, you’re just asking for trouble.
June 10th, 2004 at 4:24 pm
Mike — good assesment, but that’s what Tapestry does; it maps from coarse grained HTTP requests to method invocations. It doesn’t do anything particularily magical, and it doesn’t require client-side JavaScript to make anything work. It doesn’t use or mimic Swing, but it takes on the flavor of GUI development.
Jason — No Book For You! Actually, drop me an e-mail with your snail mail address.