Dave Newton wrote:
--- Rubens <[EMAIL PROTECTED]> wrote:
I need to make a decision whether to use Struts vs Struts2.

Even a year ago I would have used S2 over S1; AFAIC there's absolutely no
question whatsoever.

S2 is being used in production apps; I have two running now, will have two
more Q1, and know personally of several others, some in some pretty
mission-critical application spaces.

The issues I've had have been pretty easy to work around so far, although
there haven't been many show-stoppers.

d.
I agree with Dave. S2 has been exceptionally robust. I find the core framework is more productive and even more pleasurable (!) to work with compared to S1. The framework itself has never missed a beat for us other than allowing a couple of security vulnerabilities sneak in via OGNL. If you value your developers give them an opportunity to play with S2.

The issues we do encounter have always related to specific tag libraries (eg. dojo integration) and these have never been insurmountable. I now take the view that its better to learn client-side libraries properly rather than hope a struts2 tag can do everything for you. eg. <em>trying to use dojo in a large webapp without genuinely understanding it is bound to cause problems</em>. Interaction between other EL's and OGNL has been annoying but I'd rather have OGNL than not. The source of S2 is readable and reasonably well documented (javadoc) and the community is helpful.

S2 does still suffer a little from being a moving target, particular whether to develop against the 2.0 or 2.1 baselines. The 2.0.x increments have been relatively smooth to follow (except 2.0.11 which was a pain). 2.1 includes some great improvements but they haven't settled down completely for me to commit migrating 2.0 applications to it. I do use 2.1 for new applications and once-again my only issues are with specific plugins.

With respect to performance S2 has been adequate for us. I have no evidence but the framework must be significantly slower than S1 though. However, for us, the framework has been a negligible contributor to the overall time to process requests.

In terms of evolution I'm confident to commit to S2 it on the basis it will still be around in several years. I anticipate some of the tag libraries will become stale but it's difficult to fault the architecture of the framework itself. For example, the new rest plugin that delivers a response type (html, json, xml, etc) based on the type requested (all from the same model) demonstrates S2 has a promising future in SOA apps. My own work is likely to head in that direction and stop using server-side tag libraries altogether and S2 is still a strong candidate. The integration of JRuby and Groovy with S2 are also very promising developments.

I do have a minor concern that the future of S2 rests solely on the interest of a few key developers, but that's probably the case with any open source project. I think there's enough evidence that as people drop-off others take up the slack, but it would be sooo good if someone was simply paid or motivated to get releases out. As the dev's are volunteers they generally tinker around the leading edge but few have the time or inclination to think about pushing forward with the software engineering processes (thanks Ted!). I imagine S1 has the same issue or worse.

Finally, in terms of education, there's some good books out now and there's a lot of sites providing tutorials (that reminds me, I'm going to order Ian's book today[1]). However, I don't know of any professional training courses yet and there's far fewer developers already knowledgeable on S2 than S1. Good luck advertising a job for an experienced S2 developer, whereas almost everyone trained in Java has some familiarity with S1. That has to be an important consideration for any new project..

I probably would not use S2 where the scale is so huge that I'd be treading into uncharted waters, and where Java 1.4 or below is mandatory. In the latter case I'd also charge the client more money due to the loss of productivity ;-)

Hope that helps,
Jeromy Evans

[1] A good book: http://opensource.atlassian.com/confluence/oss/display/BOOKS/ISBN-1590599039



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to