FAQ

[Tomcat-users] Struts vs JSF (poll?)

Frank W. Zammetti
Aug 24, 2008 at 8:11 pm
Being as most of what I do today is RIA development, I've personally
found that the ideal solution is to use NO framework at all. I use DWR
and just treat everything as method calls.

The nice thing about that is you wind up with a very clean and "plain"
structure to your application in the sense that you're thinking in terms
of classes and methods, like you do in general server-side anyway. It
also makes most of your application highly testable (except where
session comes into play, but we tend to try and minimize that usage
anyway). You design a proper API, and the fact that you're using it
behind a web-based application isn't really relevant (and in fact you
can truly slap any front-end on you want without much trouble).

I've found that my projects drift towards more of a component-based
model naturally doing this, and away from the classic page/action-based
model of Struts (which is where we were a few years ago). It becomes
much more about events, small, focused bits of functionality, and how
it's all put together to form a larger whole. The development cycle I
find is much faster, much simpler and the results are far more flexible
and extensible. It's in some sense a return to a more "bare metal"
mentality, but it's truly made our lives a whole lot better. I've had
to mentor some pretty inexperienced teams and I've seen this approach
versus the framework-centric approach with something like Struts, and
I've observed it to be much easier to get their brains wrapped around
this approach, they come up to speed and are effective faster, and they
are more effective than in cases where a full, "proper" framework was used.

So, if the question is Struts vs. JSF, I'm in agreement with Johnny to a
large degree: neither is the best answer. And in fact, I second the "no
framework at all" opinion. I suppose if you wanted to consider DWR a
framework then I'd say DWR, but it's really just a mechanism, not a
framework (it could be something else other than DWR, so long as it
presented an RPC view of the world it'd be the same basically). But as
far as the "true" frameworks go, as we've come to understand them over
the past few years, my personal opinion is that they serve no purpose
any longer when talking about developing modern RIAs, and in fact tend
to get in the way more than they help in those situations. I completely
realize this isn't the popular opinion (yet), and many people actually
disagree quite vehemently, but I've had pretty extensive experience
building these types of apps for nearly 10 years now, and that's the
mindset I've come to at this point.

(I tend not to say this often, because it's usually annoying to me when
people do it, but what the hell... I actually blogged about this a
little while back: http://www.zammetti.com/blog)

Frank

--
Frank W. Zammetti
Author of "Practical Dojo Projects"
abd "Practical DWR 2 Projects"
and "Practical JavaScript, DOM Scripting and Ajax Projects"
and "Practical Ajax Projects With Java Technology"
(For info: apress.com/book/search?searchterm=zammetti&act=search)
My "look ma, I have a blog too!" blog: zammetti.com/blog



Johnny Kewl wrote:
----- Original Message ----- From: "Tommy Pham" <tommyhp2@yahoo.com>
To: <users@tomcat.apache.org>
Sent: Sunday, August 24, 2008 7:03 AM
Subject: Struts vs JSF (poll?)

Hi everyone,

This maybe out of scope for this list but I wanted to know more about
Struts vs JSF other this old article [1]. Which are are deployed
mostly on your TC server(s)/cluster(s)? If any Java developers are
on this list, which platform API do you prefer for quick development
(to meet deadline), performance, security management (user
authentication and level restriction) etc... since both are based on
MVC despite their different implementations(?).

Since there isn't a JSR for Struts, has Struts been around before JCP
is formed? And why is there not a JSR for Struts now (just curious)?

As for JSF, which implementation is used by/for your app(s)?
Sun/NetBeans? Apache's MyFaces? or Others (please list)? I'm
somewhat disappointed Netbeans support for JSF and Struts in that
Netbeans bundled libs support used older Apache Commons lib version
(even for the current v6.1), although this could be updated but I
don't know whether it will break the integration of Netbeans' VWP.
Even the tutorial/trails on NetBeans site regarding Struts (although
this can be compensated at Struts' web site) is very limited perhaps
because of the (biased?) Struts weak integration to favor or push
more on JSF/Visual JSF?

I need to evaluate my options of API and IDE before I dedicate
several projects since the performance of Netbeans is getting worse
by every release comparing to Eclipse. As for server, I've decided
already ;)

TIA,
Tommy

[1] http://websphere.sys-con.com/node/46516
Use neither... prefer the plain TC MVC model.

Struts is really just an implementation of the MVC model in TC
JSF is more about trying to make web development feel like Swing
development... see Visual Web Pages in NB

Struts is very much a stand alone tool.
JSF needs the whole VWP framework to make it go.

Struts may not be a Sun standard... but Apache is a brand you can
trust... its generally all good free stuff.
JSF and VWP are Suns baby.

Sun and Apache dont see eye to eye on everything ;)

Netbeans is Sun
Eclipse isnt

You get the picture... theres some helthy competition out there ;)

The truth is... if you know what you doing, you dont need a
framework... if not a framework will get you going quickly.
Frameworks are cool until you want to do something outside of the
framework...

That applies to VWP or Struts...

If I had no other choice, I'd use Struts... but I'd also use NB ;)

Big problem with the NB JSF tools is the complete lockin... so if your
graphic artist is on Adobe, or FrontPage or anything else... they
going to hate you ;)
The NB JSF doesnt lend itself to multiple tools... its the swing way
or no way... or extreme pain when you need something from the outside
world;)

Its not about standards, its about lockin... actually many "standards"
also mean lock in... thats probably why they made them.
You cant beat just having a good clever designer on your team... there
are many in this TC group... hire one.
Also dont be a groupie... just think about the technology...
Trouble with that is the NB is cocking up trying to push glassfish
into it... but NB is Sun and Sun control Java... not a simple as its
just crap.
On the server end, there is a competition problem... on Java Core...
its hard to beat ;)

Being a Java programmer is full of hard choices;)

Have Fun.... and choose carefully... read up on the TC MVC model...
---------------------------------------------------------------------------

HARBOR : http://www.kewlstuff.co.za/index.htm
The most powerful application server on earth.
The only real POJO Application Server.
See it in Action : http://www.kewlstuff.co.za/cd_tut_swf/whatisejb1.htm
---------------------------------------------------------------------------





---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


__________ Information from ESET Smart Security, version of virus
signature database 3382 (20080823) __________

The message was checked by ESET Smart Security.

http://www.eset.com



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
reply

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions