Friday, June 08, 2007

No one has ever been fired for choosing JSF

Inspiration for this blog post came from a colleague of mine, who sent me a picture from showing job trends for JSF and other web frameworks. (see below picture)

There is a saying that goes "no one ever been fired for choosing IBM", which means, IBM is such a brand, that if they (IBM) do not match your needs after all when the deal has closed, you are not to blame--you just had a bad experience with a little part of IBM. Or at least, that is my understanding of the saying.

Now, I say the same holds for JSF! No one will be fired for having choosen JSF...

I have a hard time seeing anyting new or remotely interesting in JSF when compared to other web frameworks. A web framework like Tapestry has really innovated with its component focus, preview of templates, super error reporting and shielding from the HTTP stack. And the upcoming v5 looks as it will become absolutely awesome with its POJO focus, annotations and development cycles reaching rails productivity. Or Wicket, which provides a full-blown component model and a programming model more like swing programming. And these are just some to mention.

So why choose JSF? Because it is an industry standard, backed by Sun, the creators of Java and Enterprise Java. The tool support will be everywhere. You can find tons of people who can do JSF programming. Googling on problems and errors are sure to turn up lots of results....

But, even though you won't get fired for choosing JSF, it does not mean that it was a good decision. You can do much better than JSF by looking around.

By the way, the graph above can be interpreted in another way: JSF sucks, which makes programmers who are forced to use it quit their jobs, which produces a lot of new job postings for JSF :-)


Eelco Hillenius said...

I always suspect many of these job openings to be written by HR people, who just throw in a couple of general terms they think sound good ;)

Kocka said...

I think I would choose JSF when the hype is over and we know the limitations and problems of the technology.

With IBM products, I have somewhat more experience, thats why I would never buy an IBM product :-D