Originally posted by Daniel Moore:
Hi,
I was wondering whether you'd had a chance to look at the JavaServerFaces? My understanding is that JSF relates to struts in the same way that the 1.4 logging API related to log4j. Do you feel like struts and JSF solve the same problem?
Thanks,
Dan
I have used JSF in its EA4 extensively when I developed a strategy for integrating Struts-Faces with Tiles and JSF back in Sept 2003.
http://www-106.ibm.com/developerworks/java/library/j-integrate/ A lot of things have changed since then. JSF is final and Struts-Faces inherently supports Tiles.
But my general observations regarding JSF:
Struts and JSF are overlapping in many ways, though there are niche areas where JSF can be a better solution. JSF's protocol independency makes it a good choice for markups targeted for multiple devices. Then there are web applications needing richer UI but without dependency on DHTML or Javascript, JSF can certainly be a winner in those areas. But that is looking into future - (2 more years?).
It is too early to adopt JSF for real projects. JSF unlike Struts is not a framework, just a spec. So all the vendors have to write their own implementation. It is not proven, just released and some major vendors have only a beta release (IBM for its WebSphere 5.1).
Depending on its feature set in Struts 2.0 (like action chaining using interceptor stacks) and its integration with Tiles (or lack thereof in JSF) AND finally whether JSF would seemlessly integrate with the Portlet spec - all of this would go in deciding the adoption rate for JSF.
Plus think of how many enterprises out there have invested in Struts. They are not going to throw it away. Struts project, will always try to differentiate itself since it is more agile and also given the fact that JSRs are always slow, Struts is here to stay.