• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is JSF replacing Struts

 
Pankaj Halder
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ever since JSP becomes the standard of JEE, many companies selected JSF over Struts. Is Struts going away?
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why do you consider Java Server Pages to be the "standard" of the Java Enterprise Edition?

On what information do you base the statement, "many companies selected JSP over Struts"?

Did you read a few web pages? Or, conduct a survey? How many companies exactly have selected JSF over Struts? How many companies currently continue to use Struts?
[ October 24, 2008: Message edited by: James Clark ]
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65122
91
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Indeed, I've seen quite a bit of the opposite. Some companies I am familiar with, having given JSF a try, are reverting to straight-forward JSP and Servlets. My new job, in fact, is to do just that. The existing Web UI is universally loathed (both usability and technology-wise) and it will be completely replaced with something much more usable and implemented using simpler frameworks (though not Struts).
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The Java Server Faces API is strange and awkward. It was four years ago and still is. I'm very happy that I was never "forced" to work with it.
 
Jane Somerfield
Ranch Hand
Posts: 193
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When SUN was creating JSF API, they are trying to apply the same beautiful and artistic architecture of Swing. This is what you got now.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34851
369
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pankaj,
The only thing "standard" about JSF is that it comes from Sun. It certainly isn't the only MVC framework in the game. Struts 2 is slowly replacing Struts 1 though.
 
Pankaj Halder
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
JSF is called standard because it is in the package under javax.faces.*.*, but not com.sun.*.*. JSF is a component in JEE spec.
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
JSF is called standard because it is in the package under javax.faces.*.*, but not com.sun.*.*. JSF is a component in JEE spec.


I'm not sure "who" calls JSF a standard. I have never heard it referred to as a "standard."

Java Server Faces is a technology that consists of a JSP tag library and a set of classes for generating graphical user interfaces. Nothing very "standard" here.

An example of a "standard" would be the set of ASCII character encodings or Standard Generalized Markup Language (ISO 8879).
[ October 26, 2008: Message edited by: James Clark ]
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34851
369
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by James Clark:
I'm not sure "who" calls JSF a standard. I have never heard it referred to as a "standard."

Sun maybe?

I'd like to point out there are two uses of the word "standard" - both of which are being used in this thread. So I think we might be discussing different things.

1) A standard is a specification that one or more parties formally agree to follow/implement. There may be multiple competing standards for the same technology as in the HD format war. There could also be a standard that nobody implements or doesn't catch on.
2) A standard is a practice or specification that many follow to the point of it being common. Sometimes there is no formal agreement in which case it is called a defacto standard.

With JSF, it meets the threshold for definition #1. (A quick google search show that Glashfish and MyFaces implement it. - along with presumably all other app servers.) I don't think it meets definition #2 in that it's not even the most frequently used framework.

Also, keep in mind that EJB 1.0 was a "standard." And we all see what happened to that. It was rewritten twice before becoming EJB 3.0.
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Also, keep in mind that EJB 1.0 was a "standard." And we all see what happened to that. It was rewritten twice before becoming EJB 3.0.


Not sure who called Enterprise Javabeans a "standard" either.

Either way, the EJB technology keeps evolving. This is a good thing. The Java programming language has evolved as well, including many versions with additional features. The current version of EJB is an enhancement of prior versions. Same goes for the Java language. New versions are good things and demonstrate interest and growth.
 
arulk pillai
Author
Ranch Hand
Posts: 3388
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Bear Bibeault:
Indeed, I've seen quite a bit of the opposite. Some companies I am familiar with, having given JSF a try, are reverting to straight-forward JSP and Servlets. My new job, in fact, is to do just that. The existing Web UI is universally loathed (both usability and technology-wise) and it will be completely replaced with something much more usable and implemented using simpler frameworks (though not Struts).


I don't think JSF is as bad as many think. I recently used JSF, Facelets, and Richfaces (with ajax) in a reasonable size project and the users are quite impressed with its overall response times and usability. We built a number of custom components that make future devlopment a breeze and employed a number of aspects to make it respond well like:

-- making use of phase listeners. If you are not careful, some of the database calls can get excuted in more than one phase (as we all know that JSF has 6 phases). We noticed this initially in our app that was not responding well. We noticed each SQL was getting called 3 times in 3 different phases. We fixed this with phase listeners.
-- true pagination (can be applied to any Web framework.)
-- clearing the session data that is no longer required once navigated to a different page (JSFs are high on memory consumption).
-- ajax (Richfaces supports this) to refresh only a portion of the screen (can be applied to any Web framework).
-- adding some configuration parameters recommended by JSF and Richfaces, etc.

I am not saying it perfect, but I can't complain too much. I ahve to agree that some of the other frameworks like Spring-MVC are bit more snappier than JSF. For PDF reporting screens we use Spring-MVC directly. Always build a vertical slice or try it on a pilot project and verify its suitability before using it in any large projects. This is true for any new or existing piece of technology or framework.
 
Pankaj Halder
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To build RIC application, is Struts2 better than JSF with RichFaces?

We know Struts2 is completely different from Struts1 in terms of architecture and API.
 
arulk pillai
Author
Ranch Hand
Posts: 3388
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is RIC? Is it RIA (Rich Internet Application)
 
Pankaj Halder
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by arulk pillai:
What is RIC? Is it RIA (Rich Internet Application)


Rich Internet Client (RIC) Application.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic