Download NetBeans!

20071114 Wednesday November 14, 2007

Filthy Rich Clients: The Book Review

It's been a few months since the release of Chet Haase and Romain Guy's "Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications". The cover of my copy of the book is bent and buckled, the edges of the pages are frayed, bread crumbs and chocolate smears have enriched its pages, and there are multiple bookmarks peeking out at various angles... perhaps the time has come to pass judgement on its content.

First of all, let's look at who, in my humble opinion, would benefit from this book (and/or simply enjoy it): Principally, anyone who is creating a Swing application while looking at the web with the thought: "Geez. Those developers are having fun. They're doing all the AJAX stuff and Web 2.0 and all those other buzz words. Where's my buzz? Where's my fun? I'm just programming in boring, stolid, dumb ol' Swing." Those people, right there, are the principle audience of this book. Yes, you may be comfortable in Swing, but have you got all you can out of JLayeredPanes? OK, maybe you have, but have you also got all you can out of gradients? Are you at a point where you know about gradients, but want to optimize them? And do you want to be told how to do that in the same book as where you're told how to make animations smooth? What if I told you this book has 25 pages under the subtitle: "What Makes Animations Choppy, and How to Smooth Them Out"? Knowing just that, wouldn't you (shouldn't you), as a Swing developer, get up out of your chair and run out into the street, in pursuit of this book? (OK, forget it, just go here and buy it on-line).

It has been posited, in at least one review I've read, that the book is aimed at advanced Swing developers. One would have to agree with that, if the book only contained chapters with titles such "Timing Framework: Advanced Features". However, it also contains an earlier chapter on the same topic, beginning from the absolute bare beginnings. In addition, the second chapter is called "Swing Fundamentals". I have read other books on Swing, and this chapter is as good (even better) as any other in introducing you to topics such as events, Swing painting, rendering, and threading. If you've wondered what exactly the Event Dispatch Thread is, then this book will tell you. Yes, it goes down to that level. It really wants to make absolutely sure that you have no excuse to not understand something later in the book. It begins from absolute fundamentals and builds up from there.

What makes the book an absolute must-buy (aside from its succinct, well worded explanations illustrated with code fragments) is its incredible collection of samples. They're tailored for NetBeans IDE but, contrary to some uninformed individual who wrote another review on the book that I read, that's completely irrelevant. I.e., that's useful if you like NetBeans IDE and a non-fact if you don't. You can simply run the same sample from the command line, if that's what you prefer. Or open it in some other IDE, exactly as you would with any other Java application. There's over 80 of these samples and they can all be downloaded for free from the http://filthyrichclients.org/ site. Each illustrates something from the book. The points where a sample is relevant to the book is clearly marked in the book and the sample is always useful, always stripped to its barest essentials, usually really cool to see, and easy to adapt to your own scenario.

Hence, whether you are a total beginner, thinking "Huh? Swing? What's that?", or an advanced Swing guru, chances are that this book will give you everything you've wanted when it comes to special effects and animations, plus a lot more. Sure, it won't give you the definition of a JTable or a JList, but that's not the point here, because the focus is on the "cool" features, i.e, the Web 2.0-like features, that Swing provides but that are often hidden or underexposed in programming books and classes. There are so many corners in the world of Swing that you're unlikely to know everything it has to offer, and with the experience of the authors between them, a lot of it is encapsulated in this book. Some review I read commented that the book should have covered "look and feels". Well, I disagree. The book focuses on your own coding, on your own tweaking, on the beautifying of your own code, which is a manual, fidgity, tweaky process, something which a "look and feel" doesn't have anything to do with. In short, because of its attention to detail and its concern with beauty, I could not recommend it strongly enough and am willing to bet that it is set to enter the pantheon of unmissable Java programming books.

Nov 14 2007, 06:31:52 AM PST Permalink

Trackback URL: http://blogs.sun.com/geertjan/entry/filthy_rich_clients_the_book
Comments:

nice stuff!

Posted by Badou on November 15, 2007 at 02:53 PM PST #

I second that!

Great effects that make applications professional.

Posted by Carl on November 19, 2007 at 12:11 PM PST #

I couldn't agree more with your review!

To everyone: Go buy it :p

Posted by Sebastien on November 23, 2007 at 06:19 AM PST #

It is great from cover to cover, with a catchy title. Thanks also to Chet Haase for his short tutorial on Chapter 18.

Posted by Mark Kerzner on January 10, 2008 at 09:34 AM PST #

i love your review

Posted by Mark on May 23, 2008 at 07:28 AM PDT #

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed