GeeCON Prague 2014*
The moose likes Struts and the fly likes Struts, Spring, JSF, etc. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Struts, Spring, JSF, etc." Watch "Struts, Spring, JSF, etc." New topic
Author

Struts, Spring, JSF, etc.

Darrin Smith
Ranch Hand

Joined: Aug 04, 2003
Posts: 276
Curious as to which one of these (maybe even one or two others) people here feel will come to domininate the market.

Struts seems the most entrenched, but Spring seems to have some momentum. Of course now Sun seems to be going full bore with JSF.

I know that these technologies can live together (particularly Struts and JSF) but it seems likely that one of these should be dominant in the next, say, 3 to 5 years.

If you had time to master only one, which would you choose and why and which one would you also spend some time learning?

It seems to me that JSF has the most potential, but currently it's limited (2 tier only today as I have read). Would it make sense then to put the most effort into JSF but also some time learning one of the other two until JSF goes N-tier? Once that happens, can anyone see the NEED to continue to use either Struts or Spring other than to support legacy systmes? In other words, is there some hole in JSF that Struts or Spring can best fill?
Francis Amanfo
Ranch Hand

Joined: Nov 02, 2003
Posts: 44
Hi Darrin,

Have you heared of Tapestry? In mine and several other neutral people's opinion, it's the best Web framework in existence today. Currently, I use it for my front end and do my business logic flow with Spring and use Hibernate for data persistence. They work GREAT!!

To check out Tapestry, go to http://jakarta.apache.org

Best regards,

Francis.
Darrin Smith
Ranch Hand

Joined: Aug 04, 2003
Posts: 276
Yes, I've heard of it (recently) but never used it or really checked it out. I'll look into it now though.

Thanks.
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
With a dozen new MVC web application frameworks every year, I tend to ignore recommendations like "use XYZ, it's great!"

I might check out the project's front page but if the "overview" paragraph can't present any sound reason for me to try that new framework (or old in case of Tapestry ), I'll spend my spare time for something else.

Francis, can you state why do you and "several other neutral people" think Tapestry is the "best" framework? Seriously.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Chris Mathews
Ranch Hand

Joined: Jul 18, 2001
Posts: 2712
Spring is not really a direct competitor to Struts, WebWork, or JSF. It does have a MVC Framework but that is not widely used. Spring is used more in the business and persistence tiers.
Shed Hollaway
Greenhorn

Joined: Aug 11, 2003
Posts: 9
From one greenhorn to another I would start off with Struts then migrate to Struts/JSF. These links may help in your decision process.
http://jakarta.apache.org/struts/faqs/kickstart.html#jsf
http://www.mail-archive.com/struts-dev@jakarta.apache.org/msg08457.html
http://jakarta.apache.org/struts/proposals/struts-faces.html

Shed.
Kishore Dandu
Ranch Hand

Joined: Jul 10, 2001
Posts: 1934
Originally posted by Lasse Koskela:
With a dozen new MVC web application frameworks every year, I tend to ignore recommendations like "use XYZ, it's great!"

I might check out the project's front page but if the "overview" paragraph can't present any sound reason for me to try that new framework (or old in case of Tapestry ), I'll spend my spare time for something else.

Francis, can you state why do you and "several other neutral people" think Tapestry is the "best" framework? Seriously.


I am not siding with anyone.

The most I heard about the merits of Tapestry is its better geared towards component centric development.

I don't have first hand experience on Tapestry. This is just what I heard from other architects.


Kishore
SCJP, blog
Darrin Smith
Ranch Hand

Joined: Aug 04, 2003
Posts: 276
After a little more research, this is what I am starting to think:

1) Tapestry seems to be a very good product and is probably "better" than Struts after you get over the learning curve

2) JSF will get pushed by SUN and because of that, will most likely become very prominent in the market

3) Struts and JSF will work together

4) Tapestry and JSF probably will not work together that well (sort of competing technologies)

5) Spring as an underlying framework, may be used to support JSF and the two seem to integrate well

Given all of this my thoughts are that, if it weren't for JSF, Tapestry would be the way to go, but given that JSF will get more and more popular, I think that a combination of either Struts and JSF or Spring and JSF makes the most sense for new projects. The reason I say this is that for long term viability (long term viability meaning that there will be developers who know the technology to support them in the future), Tapestry seems to be in danger of being replaced with JSF. Struts to a lesser degree, and Spring not much at all.

Even though I have the most experience with Struts, I'm thinking that using Spring and JSF may be the way I start to lean.

Does this seem to make sense? Am I off base here?
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
I think the popularity of certain open source projects really depends on how the vendors' choice. If SUN really decides to stand with JSF, then, it is difficult for other projects to be popular, unless they are really outstanding. As if SUN puts JSF into J2EE 1.5, and if other projects are not really that outstanding, it is difficult for people to choose using open source projects than SUN's packages.

I just being noticed by others that, although EJB 2.0 is bad, and Spring and Hibernate did a good job on the bad side of EJB 2.0, when EJB 3.0 releases (with adoption of the advantages from Spring and Hibernate, and solve the bad issues of EJB 2.0), those technologies may become *past tense* unless their new versions are better than the current one.

Thus, if we are sure that SUN stands with certain technologies, we should also go with that direction.

Nick


SCJP 1.2, OCP 9i DBA, SCWCD 1.3, SCJP 1.4 (SAI), SCJD 1.4, SCWCD 1.4 (Beta), ICED (IBM 287, IBM 484, IBM 486), SCMAD 1.0 (Beta), SCBCD 1.3, ICSD (IBM 288), ICDBA (IBM 700, IBM 701), SCDJWS, ICSD (IBM 348), OCP 10g DBA (Beta), SCJP 5.0 (Beta), SCJA 1.0 (Beta), MCP(70-270), SCBCD 5.0 (Beta), SCJP 6.0, SCEA for JEE5 (in progress)
Darrin Smith
Ranch Hand

Joined: Aug 04, 2003
Posts: 276
That's a good point Nick. I have read about EJB 3.0 incorporating some of the Spring Hibernate ideas.

Really, what I would like to see, is Sun have the very best methodology integrated. To me, learning Struts, then Spring, then Tapestry, then...etc., just doens't make sense. It would be easier, and more productive, to learn one "standard" (as long as it worked well...hopefully worked best).

Open source and competition is great and all, but some times I think we lean toward reinventing the wheel too much when we could better improve upon our previous designs (EJB 3.0 over 2.0 as you mentioned for example).
 
GeeCON Prague 2014
 
subject: Struts, Spring, JSF, etc.