I  agree with this fully.For me, each project I did in JSF got
progressively easier and more pleasurable to deal with. Despite the books
and tutorials I read about JSF from the start, the only thing that really
made me like it was actually working with it and learning when and how to
utilize different parts of the spec. And I mean really LEARNING about it;
not hitting a wall and giving up. I cursed and became frustrated, but I kept
going. Things seemed impossible at first because I was trying to do them
incorrectly. Several subsequent projects taught me about phase listeners,
validators, components, render-kits, and when/how to use them together--all
things that I knew existed from the start, but not how they really worked in
practice. And because of that, with each new project I was able to make
better decisions and difficult things became simple. I've done five projects
in it, start to finish, and I still probably have things to learn.


There are several obstacles that make it difficult to get going with JSF.

The API may be very flexible, but is not designed for usage in mind. Writing
jsp-based components is a mess. Documentation has still a long way to go: To
figure out how to write a converter that can handle reference objects
instead of value objects took me quite some time. Having two implementations
of one specification doesn't help at all, especially when writing
components: Either I use only classes defined in the spec, duplicating lots
of standard stuff like, or I make myself dependant on one particular
implementation, and can't switch to the other one.

I hope that the JSF community can settle to provide only one single
implementation for JSF 2.0, and make that as rock-solid as, say, Spring. I
you'd ask me, I'd say anyway: Drop JSF managed beans and use only Springs
container...

Still, haven't finished yet the two projects I'm working on with JSF...

Reply via email to