I'm sorry to say the book doesn't cover JSF at all... I've historically been a bit anti-JSF, but that's not the reason it wasn't covered... simply put, some things had to be left out to get it done on time (writing a book, as it turns out, isn't easy ) and since my experience with JSF isn't as great as it is with other technologies, it was something I decided to leave out.
Also, with JSF, because of its very nature (i.e., component-based), I think most of the time your going to get AJAX for free if you choose the appropriate component kit... this book is more focused on the situations where you'd be building the AJAX functionality yourself (and using libraries to do so, libraries that tend to be at a lower level than JSF).
I certainly wouldn't mind covering JSF in the second edition though
Could you also please elaborate on your dislike of JSF? I am trying to learn (and use!) the technology and, although somehow disappointed by the lack of more "visual" tools to do development (and, boy, is XML verbose to type!) it looks 'fit for purpose'... Thoughts?
Many thanks, Marco Massenzio
posted 13 years ago
Now, about JSF... I should start by saying that my opinions of JSF are quite controrsial, and I know it
First off, I simply hate the fact how it was being absolutely rammed down our throats a little while back... this seems to have settled down to a normal level, but for a while you had everyone telling you how JSF was the future of web development, and it was absolutely obvious that those shills were in it for the money. JSF has from the beginning been about competing with .Net, which means tooling is all but required, which means anyone selling tools has a vested interest in it succeeding whether it's technically a good solution or not. All of that just rubs me the wrong way, although as I said, it seems to have died down to a normal level where we can actually evaluate JSF on a purely technical "does it suit my needs" level, which if it had been that way all along would have removed a lot of my negative opinions
Second, I've been to plenty of presentations where the presenter starts by saying how JSF is easy, makes life simpler, etc, and then proceeds to put together a "simple" example application that makes everyones' brain turn to mush in no time. Five different config files, classes all over the place, all sorts of new tags, etc. And the whole time you can hear the whispers throughout the audience: "This is easier?!?!?!?" Now, someone will come along and say with the right tooling it's easier, and I wouldn't argue that, but I'm not a fan of anything that seemingly requires tooling to be usable... there's nothing I hate more than meeting a developer who can use this tool or that tool but doesn't understand what's going on underneath... to me, if you can't do it by hand, you shouldn't be using a tool to do it because your just going to make my life miserable in the future when I have to maintain your generated crap... and if writing JSF by hand is less efficient than other options, it's not worth it.
Third, writing components is WAY too difficult, and it seems that you will HAVE to write components to do anything more advanced. JSF's greatest promise, IMO, is the custom component aspect, and it's something I'm actually onboard with... but, writing components takes way too much effort at present... and as I've heard the story told, the component model was the driving focus in the first JSF spec... uhh, didn't quite hit the mark IMO
On a more technical level, I really do worry about putting (potentially) so much information into session... the entire component tree for a complex page could, in theory, quickly become a problem in a distributed environment where session replication has to be a concern... now, I've never encountered such a problem, so maybe I'm overblowing it in my own mind, but I do worry about it.
Another point, although obviously not a failing of JSF itself, is a lack of good examples and documentation. Oh, there's no shortage of both on the web to be sure, but I've never seen a simple application that (a) wasn't overcomplicated or (b) too simplistic. It seems that every example I've ever looked at goes to one extreme or the other.
posted 13 years ago
Thanks, Frank - very comprehensive reply, I must say hope I didn't take the thread off-topic
I'll be looking forward to reading your book, as Ajax give so much of a richer user experience that doing anything else at present is pure madness - as for JSF, I'll use as and when required, but I do agree: way too verbose/overblown even for simple stuff.
Of course, I found a very beautiful couch. Definitely. And this tiny ad: