« MVC not suitable for... | Main | Quickies »

Googling for thoughts on Java Server Faces

I have read the JSF spec.  I now understand that JSF is a UI component framework that is protocol and markup independent, but aimed at HTML-based webapps.  Now I need to play around with the Early Access implementation to really get a grip on JSF.  

I decided to first do some googling and mail-list searches to see what others have said about JSF. None of the major Java magazines have written about JSF yet, but I did have some luck.  I found couple of quotes from Craig McClanahan:

In general terms, I look at JavaServer Faces (and the JSP Standard Tag Library) as "mainstream" efforts that will, ultimately, supplant the use of the majority of the Struts custom tag libraries. We'll continue to support the existing libraries (there are *way* too many apps using them to consider deprecating them :-)
...
Happily, the Struts controller doesn't care what technology was used to create the user interface -- it deals with request parameters and request dispatcher forwards. We may need to do a little bit of glue work to emulate some of the "automatic" interactions between form beans and the UI components, but I don't anticipate any significant hurdles in this respect. [Craig McClanahan, Struts-dev mailing list, 1/14/2002]
That sounds good.  Sounds like Struts, and possibly other web MVC frameworks, can support JSF.  If Struts and Webwork both support JSF, does that mean that I can develop a JSF UI Component and then use it in either Struts or WebWork without modification?  I hope the answer is yes.  

I also hope that non-JSP solutions, such as Velocity, can support JSF.  I did see some hints of this in the spec, so maybe there is hope.

Moving on, I also found an insight from from David Geary on the Struts dev list:
Another way to think of Faces is this: Take the Struts html tags and rewrite them so that instead of producing html directly, the tags delegate to a component that produces HTML. And you can plug your own custom components into those tags for a different markup language (although you'll want to change the html prefix to something else, like faces). Finally, you can create a new tag and a corresponding component to implement something wild like a WAP calendar. [David Geary, Struts-dev mailing list, 9/6/2002]
That sounds good too, except that it does sound rather JSP centric.

I also found some criticism of JSF:

Inside the spec, I see a bunch of standard UI components, but I don't see any complex ones like Table or Tree, everything looks pretty basic, that's just too bad, I was hoping that they would do something like Swing.

Aha, looks like there's some mention of creating components recursively. Events, that are independent of HTTP, unlike Struts. Now, that they've defined a new Event framework, I'm not sure if this is compatible with Struts.

So, where's the beef? My quick browse of the spec tells me that there are only a few new things that are in this. The newest thing is some kind of standardization of UI components, something completely lacking in the Java world. As far as a toolkit I can leverage, well I don't think I'll find it here. [ceperez, ::Manageability:: weblog]

The reason you see no complex UI components is that JSF is supposed to be a framework and not a toolkit.  Sure, JSF includes some concrete UI Components, but just the basics - without those the JSF  Reference Implemenation would be useless.

So far, I like what I see of JSF.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

« MVC not suitable for... | Main | Quickies »

Welcome

This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Java, some may be related to this entry.