Java Notes From My Desktop

Tags - Categories : All | Articles | Book Reviews | CSS | Java | Javaranch | Javascript | News | Opengl | Opinions | Personal | php

Norman Richards recently posted an article in response to a comment made by Joseph Ottinger when he presented my article on TSS:

"What is interesting about JSF is not that it is a great framework by itself. JSF is interesting because it is a great framework for building a web framework. I would compare it to the Servlet specification. Servlets are rather dull little beasts. The API is entirely un-clever, and nobody in their right mind would use to build an application with. Yet, even though almost nobody every writes a doGet() or doPost(), we all use the Servlet spec every day because every single web framework is built upon it. It handles the most mundane part aspects of request-processing, leaving the real work of being a web framework to ... the web frameworks."

I have no problem believing this statement. The problem I guess I have is that is not how JSF was promoted on thrown at us. JSF was touted as the latest and greatest in web frameworks. What's nice about the Servlet spec is how low level it is. Building a framework on top of the Servlet specification makes sense. I believe in that. Building a framework on top of a framework? Something about that just seems wrong. Not wrong in that it's being done. Wrong in that it was designed this way.

However, a lot of developers are liking the Seam+Facelets+whatever else combo so, more power to them. If they are paying the bills with it, who am I to argue. I'll continue to use Stripes, until something better comes along or it proves to be a square peg for a round holed project.


I don't doubt that at one point JSF was thought of as an end, but I don't really think Struts was really on the mind of the Servlets designers either. I remember reading tutorial after tutorial showing we should be using servlets directly, getting request parameters, doing work, and forwarding of to views. (or worse, generating HTML directly) Yet, somehow we discovered that the best use of Servlets is not to use it, but to use a framework on top of it. Now we have a higher level of abstraction with JSF. It is interesting on its own, but we've discovered that, just like with Servlets, the best way is not to use it directly but to build on top of it.
It's good to remember than early on we did indeed emit HTML from servlets, because neither JSP nor its predecessor JHTML was around. And when it existed, we still wrote doGet/doPost, parsed HTTP parameters and coded forwards to views "by hand", because no framework that did it any different was available.

Best practices take time to develop, and then frameworks need more time to implement them, and still not every single one will turn out to be a winner. I'm no fan of JSF either, but it's early days; let's wait a couple of years to see how its ecosystem turns out. It may have been touted as the web framework to end all web frameworks, which it's most definitely not, but it may still come to play a useful role.

But JSF doesn't solve a general need. It solves a more specific need. The Servlet specification solved a very general broad need and left room for many frameworks to take advantage of. Case in point, a myriad of frameworks. But if JSF isn't a good fit for someone, how can any framework built on top of that framework be a good fit?
That JSF is a framework for building a framework is only an excuse. JSF supposed to be a ready-to-use Web framework in the sense that ASP.NET is ready to use. It was also supposed to be something that amateur VBers could become proficient in in just a matter of weeks! But just look where the hell are we! Even super professionals like Jacoob, Gavin, Craig, etc. have found it so unusable that they all have roled their own extensions just to make it work... I don't know much about ASP.NET but everyone who is using it loves it, but everyone who is forced to use JSF just hates it... These aside, yup, Seam looks very kool! ;)
TOP trisha fans visit
ogepdslb

Read more...
tucfjeht

Read more...
muaujucp

Read more...
ypyshucf

Read more...
fosamax

Read more...
xenical online

Read more...
zyban

Read more...
syywxbij

Read more...
wellbutrin

Read more...
alendronate

Read more...
azithromycin

Read more...
ultram

Read more...
naproxen

Read more...
seroxat

Read more...
buy wellbutrin

Read more...
diazepam

Read more...
allegra

Read more...
lorazepam

Read more...
generic lexapro

Read more...
effexor

Read more...
norvasc

Read more...
buy ultram online

Read more...
metformin

Read more...
naprosyn

Read more...
norvasc

Read more...
lunesta

Read more...
sertraline

Read more...
atorvastatin

Read more...
omeprazole

Read more...
gabapentin

Read more...
order valium online

Read more...
tylenol

Read more...
buy prozac

Read more...
buy wellbutrin

Read more...
bupropion

Read more...
buy xenical

Read more...
finasteride

Read more...
augmentin

Read more...
meridia

Read more...
zyloprim

Read more...
order soma

Read more...
order soma online

Read more...
lorazepam

Read more...
fexofenadine

Read more...
norco

Read more...
neurontin

Read more...
simvastatin

Read more...
fluoxetine

Read more...
zanaflex

Read more...
famvir

Read more...
123123

Read more...


Add a comment

Title
Body
HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
Math Quiz 5 + 6 = (Helps stop blog spam)
Name
E-mail address
Website
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).

TrackBack to http://radio.javaranch.com/gthought/addTrackBack.action?entry=1168032674785