in my opinion, and of course that means little being the "green horn" i am, a technologies future is as bright as the number of people willing to use it. its all about demand. you're hearing a lot about tapestry? well, if the proves to be the better tech in the eyes of the masses, then so be it. My point is, as long as people stick with JSF, its future is bright, i believe.
Originally posted by Thara Visveswaran: How different is JSF from Struts? How do we choose between the two?
Struts was developed as a controller framework (a la Model-View-Controller). JSF is a UI Component framework. JSF has a UI Component event model, similar to Swing, where you can react to events occurring on a UI component. Struts is limited to HTML pages, whereas JSF can create e.g. HTML pages or WML pages for the same code, if you use a different renderer.
JSF allows you to combine complex GUIs into a single component easily.
JSF also allows you to manage the state of your components either on the server or on the client. Struts has no notion of components and so does not have a notion of component state or component events.
As to deciding which to go for - the originators of Struts were involved in the development of JSF and have stated that any new projects should use JSF instead of Struts because it is more powerful and flexible. That is good enough for me
In my opnion, JSF have a good future Oracle by example has changed the JDeveloper 10.1.3 to work with JSF and make a donation of components to My Faces project, its action can let the JSF more stronger. About struts, i think this framework will be in market to a long time
Joined: May 17, 2005
Thanks Guys for your replies. Motivated me to look into JSF.
Originally posted by Pradip Bhat: No one has talked about Tapestry. Am I comparing wrong things?
Well, if you were to ask which is more widely used, then the JSF/Struts debate is a good one, albeit futile. If you wanted to compare like frameworks then JSF vs Tapestry would be a good debate, albeit futile.
JSF is a Sun branded specification. Tapestry is an Open Source framework. If I had to choose, I'd choose Tapestry for reasons scattered throughout several discussions in the Application Frameworks forum. You might search there for some relavent threads on this topic.