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.

Reply via email to