• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Sheriffs:
  • Ron McLeod
  • Devaka Cooray
  • Henry Wong
Saloon Keepers:
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Tim Moores
  • Mikalai Zaikin
Bartenders:
  • Frits Walraven

JSF: popular? implementations?

 
Ranch Hand
Posts: 491
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1. Is JSF a popular framework?

2. I never think of using this JSF but how many different implementations are there?
And what is the most commonly used implementation. Google show a lot...but confused...

For example, Metro for soapful jax-ws or Jersey for rest jax-rs. In a similar way, what is the recommended JSF implementation to start with?
 
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
First JSF is part of the Java EE platform.

Since Java EE 6, Oracle tends to recommend developers to use JSF instead of JSP for the front-end UI stuff. So the popularity should gradually increase over time if it isn't already.

As for implementations, the JSF framework alone only provides the <f:xxx> and <h:xxx> tags. So this somewhat limits the UI components.

As you noticed from Google search, there are many variants of JSF eg Primefaces, Richfaces, ICEfaces, Tomahawk etc.

I personally like to use Primefaces. I'm sure all the mentioned variants have the same functions and components. It comes down to the "out-of-the-box" experience.

Yet I do find making the look and feel right with Primefaces can be cumbersome (eg override the Primefaces internal CSS).
 
Sheriff
Posts: 67752
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'll answer #1 from my point of view; of course, other's experiences may be different. But in the segments of the industry that I've seen, JSF is not popular -- in fact, in my circles most view it with outright hostility. A number of my most recent jobs have been to replace JSF monstrosities with more straightforward implementations. As always, your mileage may vary.

I'll also go on to say that server-side technologies, particularly the huge overblown ones like JSF, are waning in popularity in favor of more client-centric approaches. All of the jobs I've considered over the past few years used client-side templating and a server backend consisting of a simple RESTful API.

My 2¢
 
Bear Bibeault
Sheriff
Posts: 67752
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
K. posted while I was typing...

K. Tsang wrote:Since Java EE 6, Oracle tends to recommend developers to use JSF instead of JSP for the front-end UI stuff.


What Oracle recommends isn't always what drives adoption. In fact, I find that it seldom does. EJB is a good example. Its use is minuscule compared to alternates such as Spring/Hibernate. Oracle rarely gets what it wants.

So the popularity should gradually increase over time if it isn't already.


Should? I'm not seeing it. In fact, it's exactly the opposite of what I see happening. As time goes on, I see JSF falling out of favor as people realize that it's an overblown awkward solution that creates more problems than it solves.

Again, just what I see. There are plenty of fans of JSF, but I don't see its adoption and popularity going anywhere but downward.
 
Saloon Keeper
Posts: 28321
210
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As you might surmise, Bear is not a JSF fan.

JSF is best when you want to conduct interactive sessions with forms, preferably with relatively few online users. ReST is best when you want to initiate server actions and having the UI maintained for you is a secondary concern. It's also preferable when you want to be able to shotgun requests to a bank of interchangeable servers (large-scale load balancing), because unlike technologies like JSF, you don't end tied up to one specific server in the cluster (which might become overloaded).

There is no "silver bullet" one-size-fits-all solution. I run both kinds of systems. And despite Bear's pessimism, JSF is, if anything, still on the rise locally. Although locally, they're still trying to figure out how to live without punched-cards, so take that as you wish.

JSF is an extendable framework. The core tagsets are basic functions and thin wrappers for traditional HTML. Commonly people will extend these by adopting one of the third-party enhancements that Mr. Tsang has mentioned. I owe him a cow for that recommendation. Not only is JSF extendable, but unlike older, more cumbersome frameworks, it is a non-greedy framework. It doesn't demand to be totally involved in every HTTP transaction. In fact, there are times when I despair of convincing people not to attempt to force JSF to do non-form things like produce spreadsheets and PDFs and just employ simple servlets. I have one app that's primarily ReST, but JSF handles the admin screens.

Ignore what Oracle and IBM recommend. They've recommended lots of things, only to discard them later. Often one reason they recommend stuff is because they want to inflict legions of over-priced "experts" on you.
 
Rancher
Posts: 989
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The thing about JSF (and to some extent EJBs) is that many people know the older obsolete versions and don't know much about the very different latest versions. You can't just say JSF anymore because you could be meaning two versions that are completely different. JSF 2.2 supports HTML5 and stateless views and EJBs don't need interfaces anymore and can be deployed in war file in a web profile container. You can't really say JSF 2.2 (or any framework) is good or bad. You can however say that some framework is a more applicable choice than another for a given project. Applicability of a framework depends on many many factors some of which are
Who will develop and maintain the application and what do they know?
What is the deployment strategy going to be (what containers if any, whether there will be clustering , active-active or active-passive )? Stateless or stateful frameworks are applicable differently for those answers.
Whether the application should be responsive or not (some frameworks are more difficult to achieve that than others)?
 
K. Tsang
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the cow Tim.

 
Whoever got anywhere by being normal? Just ask this exceptional tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic