On 11/17/05, pc leung <[EMAIL PROTECTED]> wrote: > > I have the same question too. > Next month, Craig will deliver a speech at ApacheCon. > After that it will be more clear. ;-) > > In documentation web page, several features contains 'FIXME' only. > But there are several jsf demo out there. > If there is a installation guide and a sample web app which shows > how to go from Struts to Shale, it is very much better. > > Apache also puzzles me that it has Struts-Faces integration > which is not Shale. There are several similar projects going. Apache > does not tell me how to choose.
In large part, that's because the world is fractal, not binary :-). There's no one answer that fits all cases. But, the shortest way to look at what I personally recommend to people is to start from a single question -- are you talking about maintaining an existing application or a new project? If you're maintaining an existing Struts-based appiication, there's no *requirement* that you change anything. If it continues to meet your needs, stick with it. Struts 1.x is not going away (at least until the last committer decides to lay down their keyboards and do something else, which I don't see happening anytime soon). However, even on an existing Struts application, you may find yourself in need of sophisticated UI components built to the JSF APIs, and/or you may find that the controller tier of JSF makes more sense to your newer developers than the action oriented framework we know and love. If this is you, then the struts-faces library offers you an opportunity to transition your JSP pages to use JSF components instead of Struts HTML tags, one page at a time ... without modifying any of your Action or ActionForm classes. Perfect for the scenario where you cannot afford to convert the entire app at once ... migrate it at your own pace, as you are making other changes. For new apps, the key issues are (a) does one or the other meet your needs better, and (b) if JSF looks good, do I have time to familiarize my development staff with it? If you get a clear answer from (a), go with it. If you have a room full of people who know Struts 1.x, and the deadline on your new project is impossibly short, stick with what you know. If, on the other hand, you want to build something that will ultimately let you integrate with all the innovation (and the growing community) around JSF, then you should look at investing the time now -- probably starting on small projects -- to gain some expertise in JSF. The real message, though, is that JSF/Shale versus Struts 1.x is not an issue of "good versus bad" or "bad versus good" -- it's an issue of "good versus better" or "better versus good" (depending upon your circumstances). Craig PS: My view of the world today is that the percentage of choices for JSF over Struts 1.x is definitely on the upswing, and that this trend will accellerate. That's why I, personally, am spending all my open source time in the JSF/Shale world, and no longer working on Struts 1.x. I can do this, of course, because there are many other developers in the Struts community who *are* working on 1.x ... it's in good hands. PPS: Count the number of tools that support / books that document / magazine articles that describe / blog entries that talk about / jobs that require / etc. related to Struts (which is now 5.5 years old). Do the same counts about JSF (which is about 1.5 years old). Draw your own conclusions on the trends around mainstream support for these technologies.