JSF2.0 and web applications
Well…after poking around a bit on web frameworks I decided to take a deeper look into JSF2.0. Why? Wasn’t the 1.x series of JSF standards pretty brutal? Well yes, from the looks of it. JSF2.0 is, however, a nice component based web framework. Oracle has ADF, JBoss has RichFaces, and there are many component libraries available for JSF. Even the ZK framework (which has a heritage in the GWT thinking) has some taglibs to leverage inside of JSF if you want to.
A couple of the parts that I like about JSF is that it has:
- Templates: You can define page templates in xhtml and reuse them.
- Composite Components: It has composite components that allow you to build what are essentially more highly parameterized templates all in xhtml. No java coding is necessary for many cases.
Because it has these two components, I can build up small template groups and new components rather easily. Its a lot like WPF in that I can have re-use and less coupling between components at a very small scale that is helpful to evolve programs that you write.
There are more advanced frameworks out there like GWT and ZK. But I find that jsf blends together a few technologies nicely to develop applications. I will say that the learning curve is very steep in general for web applications versus desktop applications so learning CSS, xhtml and the client browser DOM all at the same time is quite daunting.