This week's book giveaway is in the Go forum.
We're giving away four copies of Head First Go and have Jay McGavren on-line!
See this thread for details.
Win a copy of Head First Go this week in the Go forum!
  • 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 all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
  • Devaka Cooray
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Tim Holloway
  • Claude Moore
  • Stephan van Hulst
  • Winston Gutkowski
  • Carey Brown
  • Frits Walraven

Is JSF still worth it to learn?  RSS feed

Posts: 29
Eclipse IDE Java Redhat
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all,

I have been a Java back end developer for some years. The last time I did front end development was like 5 years ago. In those years I used JSF, AJAX to create web applications.
Today I am in the need to pick up front end development again. With all the new technologies like HTML5, Angular2, JQuery,  etc. Is JSF still relevant and worth it to learn?

What would be the areas where Java web technologies will have an advantage over the other technologies and what areas would be better to choose something else like HMTL5 and Angular2?

Ranch Hand
Posts: 45
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would say JSF, JSP and all those old technologies are obsolete.

Basically, by using JSF, you pack your app with both front end and back end code. Ugly :/

When those technologies where developed, the average computer where slow. Thus, having a front end app using Anulgar or React was a bad idea. Everything would look sluggish and laggy.
Todays computer are fast, and all the JSF rendering can be moved to a browser(i.e by using Angular, React etc). Chrome V8 for example compile javascript code to native code.

Rendering on server side is redundant as for today. It's cumbersome a complete waste of resources and CPU power.
Saloon Keeper
Posts: 20511
Android Eclipse IDE Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
JSF is a good thing to know if you need to design an industrial-grade webapp with lots of user input and validation, although I've never been sure that its overhead is low enough to run something the size of on it.

Java in general is expensive to implement, since apps cannot be just slapped out in an afternoon. Java is best for things where you need lots of design options and where performance and/or security are critical.

For lightweight stuff, I usually use PHP or node.js myself. Note that many extensions to JSF use jQuery internally, but usually with less coding required (they also usually allow direct use of jQuery also).

One thing to bear in mind, however, is that while some things benefit from being offloaded onto the client, anything to do with data validation should ultimately be done on the server. That's simply because anything done on the client can be hacked or spoofed. It does no good to have client-side code validating data if some ill-intentioned person takes over and pushes bad data down anyway.
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I used JSF for many years, and after using the new stuff (mostly Angular) I really feel JSF is slowly going out of the market. The JSF life cycle make it slow and error prone and it takes plenty of time to learn to get it right. Another big disadvantage is that, since the framework is trying to abstract the HTTP protocol and HTML code for the most part, you sometimes end up tweaking the framework to fulfill a special requirement. I think it has a steep learning curve because it's important that you not only learn the framework, but acquire a good understanding of HTTP, HTML, CSS, Javascript and any other tool that may come in handy, but in the end it's easier fulfill your needs.

So, if you're deciding which one to learn I would definately go for Angular/React. It's really worth it.

It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!