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.

Why JSF? Well, it has a nicely defined lifecycle, it allows you to bundle things up into a declarative syntax nicely and the available toolkits look pretty good. You can avoid some deeper tinkering with javascript if you like. Because JSF2.0 is ajax enabled, you can still get good partial page rendering support when you need it.

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.

Popular posts from this blog

graphql (facebook), falcor (netflix) and odata and ...

React, Redux, Recompose and some simple steps to remove "some" boilerplate and improve reuse

Using wye and tee with scalaz-stream