Boycott JSF
These days, things have improved so much at Sun that one can be quite legitimately surprised when a J2EE/web type spec is released that has not grown from the user community.
The EJB spec for instance is now the poster child of community driven specifications. The whole existence of J2EE 5.0 stems from the needs of the community and the developers on the ground. Virtually every single specification under that umbrella has been revved either through pressure from users, or with the goal of allowing users to do what they do better.
The one amazing exception to this rule is Java Server Faces. To date, I have yet to see a single positive review of this spec that comes from a non-Struts user. WebWork, Tapestry, Spring, and pretty much every non-Struts framework users scoff and laugh at JSF. It’s ugly, it’s not intuitive, and it is hellbent on the Microsoft style approach; fuck the users and force them to use clever tools.
While this wouldn’t have been surprised a year or two ago (many of the specs were run the same way, driven by a few lunatics with bizarre needs rather than actual Real People), it is simply unacceptable these days.
I won’t go into the details of why JSF is crap. That’s a separate topic and there is already plenty of material out there, in fact you’d have trouble finding any ‘normal’ web developer speaking positively of it (once you discount people on the expert group, jsf vendors, and struts users).
So I beg of you all, don’t use JSF, boycott it, avoid it all you can. Do not let it thrive or prosper. We don’t want it improved or tweaked, we want it to die the horrible painful death it so richly deserves.
I can see the argument that the platform needs something like it. Taking struts and turning it into a specification is not the answer. The JSF group is in many ways much less constrained that the EJB group by backward compatibility. The few people who have chosen to adopt JSF can be (rightfully) dismissed as lunatics who expect to jump through hoops for every iteration anyway. Mission-critical JSF is practically an oxymoron, and there are many many great ideas in the community that should be leveraged and incorporated. Tainting the J2EE 5.0 spec with something so untested and universally reviled by the hardcore enterprise people, bread and butter webapp folk, and the hobbyist web monkey kids will do the the entire platform a great disservice.
September 20th, 2004 at 11:32 am
Actually the best way for to call a boyoctt of JSF is in fact to actually describe why its crap with actual examples..
September 20th, 2004 at 11:34 am
“boyoctt.” “Why its crap.”
Of course, these are good reasons to boycott YOU, Ferd Grtto, as opposed to the JSF, but hey, if the shoe fits…
September 20th, 2004 at 11:57 am
It’s the people who need examples to see that crap is crap which perpetuate the existence of the mindnumbing web frameworks which have become so ‘de facto’.
Of course if you don’t think for yourself, you’ll be happy using watercolors to paint a fence.
It’s hard not to be acerbic having to deal with such software daily, knowing full well that reasonable implementations of Web MVC exists, it is like watching people jump off the top of a building when there is an elevator waiting.
September 20th, 2004 at 11:58 am
Speaking of boycotts, didn’t Ferd say he wasn’t coming here any more?
September 20th, 2004 at 12:28 pm
JSF++
September 20th, 2004 at 12:31 pm
yeah fuck JSF, long live dot NET!
September 20th, 2004 at 1:23 pm
My favorite comment on this comes from Pier Fumagalli on the Apache mailing lists:
“I usually call ‘em ‘Java Server Feces’… But that’s just me… :-)”
September 20th, 2004 at 1:35 pm
I wish .NET community had someone like you to slow down its progress and wide acceptance and at the same time make its developer community feel depressed and willing to switch to Java…
September 20th, 2004 at 5:30 pm
I’m willing to switch to Java now ..
September 21st, 2004 at 1:28 am
Behrang Saeedzadeh,
atleast try one other non-struts web mvc before wanting to suck java serverfeces cock. Don’t you think?
September 21st, 2004 at 9:31 am
java server fuzzes is there because of struts. I dunno why people still want to use it.
September 21st, 2004 at 11:08 am
Glad to know that I’m not the only one who things Struts and etc. is NOT the way to build apps.
September 21st, 2004 at 11:46 am
Sun needed to do JSF secretly and without listening to anyone so they could manage to create a JSF IDE (SunOneStudio) without it being crap compared to competition.
September 21st, 2004 at 11:46 am
Sun needed to do JSF secretly and without listening to anyone so they could manage to create a JSF IDE (StudioCreator) without it being crap compared to competition.
September 21st, 2004 at 1:45 pm
As one who’s put several apps together using Struts, I can recognize a struts spin-off when I see one. JSF is rehashed Struts + a semi-cool event model + a not so cool component packaging scheme. Struts was PAINFUL, but it can be excused because it was written over 4 years ago. JSF looks like the groupthink product of several Struts fans. I’m moving my latest app to a new architecture and needed/wanted a new MVC and was very tired of Struts. Ended up settling on Tapestry over JSF for a myriad of reasons, but the biggest was this: If you need a fancy GUI tool to make your framework simple, you can’t really call it simple, can you.
September 21st, 2004 at 9:46 pm
I dig JSF. I have used JSF. I never used any drag and drop tools. I find they get in the way. You can use JSF *without* fancy tools. It is an urban myth that you have to use fancy tools to use JSF. Perhaps Tapestry is better…I keep hearing that it is. JSF works fine.
September 21st, 2004 at 9:53 pm
“It’s the people who need examples to see that cr@p is cr@p which perpetuate the existence of the mindnumbing web frameworks which have become so ‘de facto’.”
It sounds like you much prefer people who have never used a framework to comment on it. You can’t eat real food, only baby food. You intellectual stomach can’t stand a different opinion. Are you always so spoon feed?
JSF is well designed and productive. You don’t need a fancy IDE to work with it. I just use Eclipse with no drag and drop JSF support. BTW I love Eclipse too.
I have used other web frameworks. I feel JSF is the most productive web framework that I have used. It is natural and productive. It just makes sense. It is well-designed. Is it flawless? No. Will it get better over time? Yes. Does this mean I am anti-Tapestry? No.
JSF is productive….. much more so than Struts or similar Model 2 era MVC frameworks (IMO including WebWork). With JSF you can do true MVC not model 2 watered down MVC that Struts and WebWork provide. It provides true GUI components and a true event model. I am not saying that WebWork or Struts don’t make more sense in some situations, but for many projects JSF is better.
The only other web framework (in the near future) I might consider is Tapestry. To me the killer stack is still Spring+Hibernate+JSF.
September 22nd, 2004 at 2:02 am
What do you expect from Craig McClanathanahan? He hasn’t produced anything but hack/bug laden fecal sputum since the get go. Commons Chain indeed.
September 22nd, 2004 at 5:21 am
“Hardcore enterprise people”. Can you have hardcore mediocrity?
September 23rd, 2004 at 3:34 am
Hmmm… I’m confused Hani. Does the total lack of the usual amount of unmentionables in such a lengthy entry mean that you’re, secretly, admiring JSF but feel obliged to live up to the expectations of this blog, or do you feel you really, really, need to get the message across?
- a faithfull follower of this Blog
September 23rd, 2004 at 9:33 am
At the risk of getting blasted for having a differing opinion, I must say that Overall, I think it’s a big plus for Java to have JSF based tools that are on par with ASP.Net.
Making Java accessible to more developers is a plus and having a standard supported between vendors is a big win as well.
Web development is only a small part of my current job. I hate and I stress hate working with HTML. Any tools that make an effort to hide the ugliness of working with HTML and other web related crap is fine with me.
September 23rd, 2004 at 11:03 am
Not sure if “mission-critical JSF” is an oxymoron. “Microsoft Works” is one though.
September 24th, 2004 at 8:41 am
I like JSF. As a software developer, and not some mind dumb twit that needs a framework to do web apps. Or even worse, a MIS major who can’t figure out that separation of concerns is just polished old fashion problem solving.
I like the fact that I can build a complete user interface with JSF and not have to wait on the EJB or avalon component backends to show up from whatever third world nation outsourcing company won the contract.
JSF is the best thing to help the JAVA web-based open source applications community catch up with PHP. Cause believe me, the OS crap that Hani is consitently kneels in front of hasn’t and can’t produce any applications that people can just USE.
September 24th, 2004 at 6:52 pm
“I won’t go into the details of why JSF is c#$%.”
Be honest… I doubt that you could go into detail. Your hatred for a technology that you have not used is troubling.
“once you discount people on the expert group, jsf vendors, and struts users” or apparently by your later post… anyone whatsoever who disagrees with you.
I think you have shown your true colors. If you don’t agree with Hani, your opinion does not count because of XYZ.
“To date, I have yet to see a single positive review of this spec that comes from a non-Struts user. WebWork, Tapestry, Spring, and pretty much every non-Struts framework users scoff and laugh at JSF. It’s ugly, it’s not intuitive, and it is hellbent on the Microsoft style approach; f555 the users and force them to use clever tools. ”
Spring has JSF integration. I guess they realize what you don’t. JSF will be used by a lot of companies.
September 25th, 2004 at 7:48 am
I’ve used Struts before and found it to be ok, not great, just ok.
I tried JSF for the first time today.
Now I have a new appriciation for Struts.
I found JSF to be awkward and unintuitive.
I just couldn’t see what makes it better than Struts. It doesn’t seem to solve any of Struts major problems, (whatever you may consider them to be). If someone can explain it too me I’d really appriciate it.
I don’t see the point of JSF. Struts exists and has had pretty widespread industry acceptance.
Why do we need JSF?
October 5th, 2004 at 10:40 am
I think Craig Mac Calahan is a good programmer. Tomcat 4 is quite well done. However I have to agree that Struts is not so great (did not change much in 4 years), and that Tapestry has a very good approach to build web apps (unfortunately it is a little bit on the slow side).
I guess the problem with struts/jsf is that they absolutely wanted to use the cool jsp custom tags which end up producing something unreadable, not easily maintainable.
I have a complaint about Webworks: it seems silly to use velocity behind their custom jsp tags => Webwork + jsp = not good.
March 11th, 2005 at 5:26 pm
How one can compare Tapestry and Struts? Struts is a controller framework (taglibs aside), Tapestry is a view framework.
May 5th, 2005 at 8:21 pm
First I love the blog…
But having spent the past year trying to wrangle struts into handling context sensitive menu options on the same page and then having to explain how to do it over and over again to other struts developers… frankly, JSF looks very attractive! Ahhh.. event driven. Like a tall glass of water.
August 17th, 2006 at 2:14 pm
>>>I have yet to see a single positive review of this spec that comes from a non-Struts user.
ok now we have JSF 1.2, alignment with JSP, facelets, and web beans (JSR 299)
do you think this review is enough, or you think it needs more review?