Home > Wicket > JSF sucks, Wicket rocks?

JSF sucks, Wicket rocks?

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 🙂

Categories: Wicket Tags: ,
  1. May 27, 2009 at 6:59 am

    The thing is that standards are “mature”. Mature is sens of process, intriducing changes, etc. But it does not mean they’re the best or the easiest.

    We can see a constant process where new frameworks/technologies are developed and they use the ideas from others (sometimes the good ones sometimes the bad ones). Take the EJB as an example – compare 2.1 to upcoming 3.1 🙂 JSF put some order on the frontend “wild west”. But it was a heavy order. I’m sure that it will change in the future 🙂

  2. July 17, 2009 at 5:52 am

    I’m glad you have found Wicket to be great to deal with. At Mystic we’ve been doing Wicket development for a long time now, at least 2 or 3 years, and have followed its progress. We have a nice series “5 days of wicket” which goes over setting up things, and a sample project just to give back a bit to the community.

    I’ve seen what JSF2 has to offer, and while its a lot nicer and includes a lot of the technologies you had to use in conjunction with JSF to make it bearable, it still pales in comparison to the ease that Wicket provides.

    • paulszulc
      July 29, 2009 at 1:18 pm

      Hi Andrew,

      I know you series, been reading mysticcoders blog for quite some time now. Nice to hear that you found my blog on the web 🙂

  3. December 19, 2009 at 5:18 pm

    Well, you know – Wicket is also not perfect. See http://www.theserverside.com/news/thread.tss?thread_id=54866#320116

  4. serverCentricLol
    April 17, 2010 at 3:43 am

    Wicket is awful. The very philosophy it is based on is terrible.

    Suppose you want to create a rich web client. Instead of actually putting some behavior on the client Wicket instead puts a bunch of hooks to server-side code. Right off the bat we’ve sacrificed performance for *supposedly* simplicity and maintainability. But exactly how is this new layer of abstraction more simple or maintainable? We’ve just traded one complexity for another, and I think a very good case could be made that Wicket is no less complex than any of a variety of other solutions. So for a rich web app, we sacrifice a true client/server system for some silly client-full-of-hooks server-centric workaround. All because so-called developers want to insulate themselves from doing things THE RIGHT WAY.

    You might then say, well ok but for apps with relatively simple clients Wicket is great! To which one could easily counter, why the HELL use a bizarre layer of abstraction like Wicket if the client is simple!

    If you’re too scared to write JS, then use GWT. If you don’t want a rich client, then simple HTML will suffice and there’s no need for another layer of abstraction. Wicket is a hack based on a bankrupt philosophy.

    Server-centric frameworks like JSF and Wicket were created by the outdated fools who think client-side development is some lowly task unfit for an experienced server-side developer. Guess what? These days a good developer does BOTH. And no user is EVER impressed by a good server-side. They might complain about a bad one, but no server-side implementation will EVER score points with users. Those points can only be scored by the client-side, and those who try to isolate themselves from it will be washed away by the tides of change!

  1. May 28, 2009 at 6:02 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: