Monday, May 10, 2010

ICEfaces 1.8 - Next Generation Enterprise Web Development


because of the integration of ICEfaces and Grails I started looking at books describing ICEfaces as a framework. Unfortunately I found only one, the "ICEfaces 1.8 - Next Generation Enterprise Web Development".

I was pretty excited at first when I saw the integration itself. Many things are done by convention (so more/less the Grails way), views use Facelts for templating... And in many places ICEfaces is mentioned as the best JSF-based framework out there.

So back to me reading the book...

Well,... hm,... what can I say...

60 pages of blah blah blah about how difficult it was to create web applications in the past with pure servlets and JSP, then the magical discovery that was made that web apps could actually mimic the experience of desktop apps... All nice and dandy but... BOOOORING!!!

I finally came to the page where code started to shine through the misery we've been at for the past decade or so. The thing that killed me at first was the statement that layouts should be done using tables!

I mean come on, guys! Where's the distinction between content and presentation? Where's the semantic web stuff??? Should we abandon CSS completely because IE is so damn cruel in this regard?

They even say that they took this road because of "pragmatism":

You may wonder why we use a <table> for the layout, and even the align attribute, when there is a <div> tag and CSS. The answer is pragmatism.

Whatta heck is that?

Honestly, around page 64 I have decided to stop reading the 290+ pages miserable poem and figure out the way to deal with ICEfaces myself using examples from their website.

The conclusion is that some books could just be better. Nonetheless it's fascinating how things get boring when you step back into the "official enterprise" sort of things having your brain already set on the nature of the web (the request/response kind of thing) by all those MVC-based frameworks like Grails, RoR and ASP.NET MVC...

Have fun!


rainwebs said...

I've no problem that you skip the introduction. But, if you skip reading the code examples, that really help to understand ICEfaces, and tell others the book is bad, that's a bad behavior. I commented why the tables were used, it's still the efforts to get MSIE working. Nevertheless, thanks for your comment.

You will recognize that the online examples are not of the same quality and that the book puts more "enterprise" into all the examples. However I can't judge how this will help you with Grails.

Matthias Hryniszak said...

Well... In my opinion the term "Enterprise" is used far to often in today's discussions. It's funny though that stuff gets named this way when in fact it's just a web page after all...
I know this might look unprofessional at the first glance but once you start embracing standards you'll recognize that things you thought to be enterprise-features are noting more than a pile of JavaScript and HTML which makes life soooo much easier.