JSF in 2007

by Shashank Tiwari

Java Server Faces (JSF) has been the right product at the wrong time for a while now. What will be its fate in 2007? Will it possibly be a leader and a technology of choice for client side development?

JSF came at a time when JSP and similar technologies were popular among web application developers. JSF tried to bring the learnings from desktop client UI development to the web. It initiated the possibility of creation of reusable widgets and controls. It provided a sophisticated event model and provided effective management of the round-trip request response cycle.

However, JSF for a while was merely a framework. As implementations and interpretations emerged, the world had moved miles ahead and AJAX had conquered the web2.0 client UI space. Then came the paradigm that AJAX with JSF was not only possible but also a best practice and a way to get the best of both worlds - AJAX and Java together. While many Java developers adopted this paradigm and the followers are growing, its current form with AJAX does appear like a strategy in hindsight and an afterthought.

Some frameworks like JBoss Seam and Apache Shale have provided the missing pieces in the JSF puzzle and commercial vendors have come up with multiple implementations and IDE support. However, the Java camp still looks a little confused about the future of the UI technology. I am positive many people would comment aggressively against this remark and many may even try and justify the contrary, but please remember that this is only my opinion and I am an ardent Java fan and I do believe what I am saying here. I would be happy to hear convincing arguments that disprove me.

So far whatever I have said it pretty much the past, but what about the future. What would JSF be like in 2007 or will there be a new J* UI technology that would replace it or will Java Applets reincarnates flourish or will we keep guessing about it all year long?

Happy New Year!

25 Comments

Michael ISVY
2007-01-01 23:47:57
Hello Shashank,
I definitely think that JSF technology gives answers to a lot of critical issues on UI. On the other hand, we know that every technology needs a strong community.
I'm worried that the JSF open source community is not that dynamic :
- we still do not have a good open source Eclipse plugin for JSF. JSFTools won't be released until june.
- So far, all the JSF projects I've seen use MyFaces. I feel that the ADF Faces and MyFaces communities do not communicate clearly. We still don't know if these components will be merged together (from my understanding they were supposed to merge), and we don't know when they'll support JSF 1.2.
Once again, it's just my opinion, I've been using Hibernate, Spring, Maven... and at the moment, I feel that those technologies move faster. Sometimes I wonder if being part of JEE is a good thing...


Happy new year,
Michael (Paris, France).

Hans
2007-01-02 01:52:54
Hi,


Definitely component based frameworks are the future!
I agree with Michael that Open source projects are much more flexible than JSR ones and thus my favorite component based framework these days is Wicket.


Regards
Hans

Adam
2007-01-02 04:48:03
Try Netbeans 5.5 with the Visual Web Pack. Has a pretty spiffy WYSIWYG implementation of JSF that optionally incorporates AJAX-backed widgets.
Elam
2007-01-02 08:39:58
I used JSF heavily for a year, but after using GWT for a week, I stopped using JSF. JSF, like most Sun initiatives, is too complex( a seven step life cycle?!) And those damned xml files for navigation and beans. Argh.


Granted, GWT and JSF are different paradigms, but for any sort of corporate or intranet web based applications, I can't imaging dealing with JSF for such a thing.

Peter
2007-01-02 10:19:10
JSF showed some promise when it appeared on the scene, but since then there was no movement whatsoever and most importantly there is no user community out there like is case with other technologies. I'd say it is already dead - I would definitively not be using this for new project (especially after seeing Stripes).
Alan
2007-01-02 16:16:51
I had the same experience as Elam. In a AJAX world, JSF cannot compare to frameworks like GWT. You can't get away from having business logic on the client side, so you might as well have a framework to support it.
Tom
2007-01-03 07:37:32
Most of these technologies are seeking similar goals, such as treating a webpage as a set of components - not just one big form and faster development times using less code.
Struts2 with dependency injection and AJAX looks a lot like it's achieving the goals of JSF, without the complexity. Yet I do like JSF with SEAM and Facelets. I also thing Google Web Toolkit and RubyOnRails are worth looking into. Sometimes it seems there are too many choices.
Tom
2007-01-03 07:40:43
GWT was open sourced about a month ago. I think it is attempting to solve the same problems as JSF - treating a page as a set of boxes or components that are independent of the page/post/refresh lifecycle.
P
2007-01-03 08:33:32
I have been using JSF for 1.5 yrs and my major beefs with the framework are being addressed by SEAM and ajax for JSF. Bookmarkable pages, conversations (scopes other than request & session), support for restful applications will go a long way to keep JSF alive. (Thank you SEAM developers!!) Without these, I would never consider using JSF again.
Oleg
2007-01-03 08:52:43
I disagree with the very first statement. JSF came definitely at the right time, but it is the wrong product. It has much too high level of abstraction, therefore it is too complex and full of bugs (consequence of complexity). Technologically, it gets beaten by more mature component based frameworks like Tapestry and by more elegantly disigned like Wicket (my current favorite).
JSF design goals were to generate income for consultants, tool vendors, component vendors and consultants, not to facilitate the developers job.
As for the AJAX - it is actually an orthogonal technology and can be integrated (and is integrated) with any web framework.
Oleg
2007-01-03 08:55:58
By the way, the only way to make JSF usable is to use Facelets as ViewHandler, but it is not yet the standard part of JSF. And is also less mature then the other competitors.

2007-01-03 09:12:58
The real issue is the number of JSF jobs on job web sites. Unforturtuately struts still has 6 times the jobs of JSF after 2 years of JSF so I afraid this is a failure. In the end you have to go to where the jobs are. From the job sites it looks like AJAX and JSP are the technologies people are asking for.
prashant
2007-01-03 12:50:00
Hi shashank,


Well haven't used JSF but always eager to use this framework.Well i see couple of commercial framework's build on JSF like BackFaces which our project uses for one module.


So i think it has been little success for JSF community but yes might be could not reach the expectations of every one.

Steve
2007-01-03 14:27:38
JSF can pass Struts 1.2.x in 2007, especially in light of new lightweight JSF-based frameworks like Seam and Web frameworks like MyFaces, etc.


However, there's Struts Action Framework 2.0 (Struts + WebWork) out there.


am
2007-01-03 16:32:24
Java web frameworks have been a bit disappointing.. I like .Net's WebForms better (even though I'm primarily a Java developer). It's just simpler, and it just works. Too bad it isn't available for Java.
Malcolm Edgar
2007-01-04 14:25:18
I think your comments are pretty fair. JSF certainly has not been the runaway success Sun was hoping for, uniting the Java web community. Its a complex beastie, which really need good tools support for commercial developers to use.


Technologies like Flex are also providing a very strong alternative to JSF and even GWF.


If you are looking for an very easy to use Java web framework for commercial developers, take a look at Click Framework.


regards Malcolm Edgar

Tony
2007-01-07 14:31:56
Postbacks for everything is DEFINITELY the wrong choice for 2007.
Kyle Adams
2007-01-08 05:44:16
JSF suffers from two fundamental problems: 1) it tries to force a desktop UI paradigm on the web and 2) it manages to violate a host of web development best practices in the process. The second might be fixed in 2007 (seeing Matt Raible on the expert committee gives me hope), but I doubt the first will ever get fixed since it's a pretty foundational aspect.


In regards to #1: JSF violates or otherwise ignores the REST architecture the web was built upon. This problem manifests itself in usability problems with bookmarking, user un-friendly URLs, etc.


In regards to #2: JSF's HTML tends to violate good separation of semantics (HTML) from presentation (CSS) and behavior (Javascript). The problem can be fixed by implementing your own custom renderers; see Raible's replacement for panelGrid in AppFuse, which outputs the grid in a list rather than a table. That begs the question: why should I use a framework that I'm constantly hacking around and struggling against?


JSF really frustrates me; rather than picking one of the existing frameworks to anoint as The Standard, Sun went off and created their own really really crappy specs. Consequently it's like EJB all over again: we can go with the official route and put up with all of the problems, or we can go the unofficial route and be much happier as developers. The problem is that most large companies are very wary of the unofficial route, at least until it gets so much momentum that it becomes the de facto standard (a la Spring vs. EJB). Thanks Sun.

Mike
2007-01-15 09:00:11
Hello,


We use JSF in our project with facelets. We use myfaces (core + tomahawk), upon those and facelets we've build our own more sophisticated components. We use spring in our app as well, and we wait for the new bridge spring-jsf which will be incorporated. One thing is sure technology is not mature.
The component base aproche is very good. I cannot imagine how u could build big application without a template engine (even 50 pages would be real hell) but when template engine is crapy ;( u cannot realize all your ideas :) especially if u want to generate few things from automats. I would love to see a new version of facelets cus I didnt see any movement in that area for some time.


P.S. Sorry for my crapy en ;)

rainwebs
2007-01-19 04:18:40
Being a GUI developer before I started with server-side Java, I like the idea of JSF components. But, what I miss the most are stable OpenSource implementations and a GUI builder that delivers me what I got with Delphi 3 for Windows 10 years ago. Some thoughts about experiences with Apache Trinidad:


http://blog.rainer.eschen.name/2006/12/15/nightmares-on-jsf-street-in-trinidad/

Ekin Italian
2007-04-12 23:23:08
Tebe vosled rukoj i kami vniz
Phocas Marlon
2007-04-24 03:08:52
Vse promolchat nikto ne skazhe. Phocas Marlon.
Serafin Leandro
2007-05-01 09:37:48
Ne nasovsem a navsegd. Serafin Leandro.
Hadewych Aukusti
2007-05-09 15:48:16
Vse promolchat nikto ne skazhe. Hadewych Aukusti.
Patrick
2007-08-03 13:43:57
Fast forward to August 2007 and I can say that JSF is not only alive but spreading. Adios JSP. RIP. With Facelets, Tomahawk, and Ajax4JSF, I can do things that Struts, JSPs, and Javascript could never do elegantly. I've seen so much business logic in JSPs that the idea of using Struts furthers my argument that JSF is far superior. I also say Struts is on its last leg too. Good framework at the right time but is ready to retire to a spot at the beach.