I always considered standards more valuable then tools that were not standardized. Thus I was always more interested in EJBs then Spring, always fan of JSF rather then any other frontend framework.
Recently I’ve been hired as a consultant (or should I say freelancer but consultant sounds more fancy ) and started developing webapplication with Wicket and Spring. During the job interview they’ve asked me what frontend framework I would use and/or recommend for developing webapplications in Java. I answered rather quickly: Java Server Faces. Right now after almost 3 months of development in Wicket, I’m not so sure. Even more, I wonder how I will ever be able to go back to JSF after experience with this completely different frontend framework . Seriously all the cumbersome, hard, sometimes impossible things in JSF are easy, simple and pretty much natural in Wicket.
Recently I read this post at Incremental Operations titled “JSF suck” and I must say that I agree with almost every case described there. Hard and almost never used by developers support for reusability, cumbersome API (with all the request – response phases) are just the pick of the icberg. If you are strong supporter of JSF, I encourage you to read previously mentioned post.
As I said before, currently I wonder how will I ever be able to go back to JSF.
Still not convinced? Probably you are exactly like me 3 months ago. Always ranting about people who try not use standards whenever it is possible, pure fan of JSF (regardless of the implementation, whether it its richfaces, icefaces or other). But I guess you never seen Wicket in action, have you? I strongly strongly encourage you to give it a try. For start create simple webapplication with welcome page and login page. Then make login part an reusable component and embbed it in welcome page. Write some functional tests, add validation support and then… try doing the same in JSF. See the difference