Geertjan's Blog

  • March 3, 2007

Are You Reading "Rich Client Programming"?

Geertjan Wielenga
Product Manager
Some days ago "Rich Client Programming: Plugging into the NetBeans Platform" was released as a "rough cut" script. The book is aimed at Java developers who want to create plugins for NetBeans IDE (to showcase their own tools, possibly) or create rich-client applications on top of the NetBeans Platform. The important links in the context of this book are as follows:

  • The book's official site on NetBeans.org. The location is here. This is where latest news about the birth of this book is announced. After publication, it will be your "go to" place for addenda, errata, supplemental chapters, updates, and everything else one can imagine in the context of the book. That will be the book's "on line home".

  • The rough cut's official site on Safari Books Online. The draft script has a home page too. It is here. This is where you can see the table of contents (left sidebar) and overview. Most importantly, this is where you can BUY the rough cut and/or pre-order a final print copy.

  • Many other on-line retailers' sites. On-line book retailers, such as Amazon.com (here) will also sell the book. In fact, pre-ordering is already possible.

If you have bought the rough cut... please consider sending an e-mail with your comments, whether positive or negative. Note that the rough cut is a DRAFT document, so you'll find a variety of 'glitches', such as spelling problems, missing words in sentences, and incomplete formatting. However, if you have any comments to pass on, you can send them to me personally at g_wielenga@yahoo.com.

And... if you like, we can include your comments in publicity for the book. Maybe on the back of the book. Maybe on the website. Maybe in brochures and so on. So, if you would like your comments to be considered for inclusion in publication for this book, please mention that in your comments.

It would be good for us to know what the satisfaction level is amongst those who are reading the rough cuts... so please let us know! Again, g_wielenga@yahoo.com (i.e., much more private and confidential it could not be) is the e-mail address to send your thoughts to. And, believe me, each one will be very highly appreciated.

Join the discussion

Comments ( 20 )
  • Mark Saturday, March 3, 2007
    I am on the verge of buying the book. One thing I would like to know is if it covers how to "send messages" between modules, etc. Most of the examples I have seen are advanced file editors. I am building an application that is mostly persisted in a db. It will have a search module and forms for entry. But some of the forms, when they change, will affect other forms/modules. For instance, when the user searches, the result form will pop up or the single entry editor for that entity.
  • Geertjan Saturday, March 3, 2007
    The themes of "loose coupling" and "lookup" (also known as "discovery" or "how to communicate between modules") are very big in the book. They are crucial to the NetBeans Platform itself. In fact, whole chapters are dedicated to them, with examples in code snippets as well as complete running samples (which will be distributed on a CD together with the book). So, sounds like you should go ahead and buy it, Mark! Any/all feedback will be very warmly received.
  • tatare Sunday, March 4, 2007
    Will we get the CD if we buy the rough cut ?
    Will we get the opportunity to have the examples ?
  • Geertjan Sunday, March 4, 2007
    tatare, I'm afraid the answer to that question is: "No". However, we are thinking of ways of making the samples more broadly available than only on the CD that accompanies the book. For example, we might put all the samples in one of the update centers. Or we might deliver them standard with NetBeans IDE, in the New Project wizard's "Samples" category. For now, however, when you buy the rough cut you will not get the samples. (And actually, we are still wrapping up the samples anyway, so making them available right now would be physically impossible.)
  • Geertjan Sunday, March 4, 2007
    PS: FYI, in most cases, the chapters in the book describe in step-by-step detail how to build the samples from scratch. For example, the code completion chapter describes how to build the code completion sample in 100% detail from scratch.
  • Mark Sunday, March 4, 2007
    Thanks for the reply. Based on the title, I thought that "loose coupling" was what I was looking for but the minor snippet on the O'Reily site didn't seem to go in that direction.
    So I will be be buying the book/rough cut.
    One other guestion. Does the book help show what should be a Top Component in module vs Top Components in a Module vs Forms and Top Components in a module. Just trying to figure out how to organize things.
  • Rich Unger Sunday, March 4, 2007
    The sample from my chapter, which is all about "loose coupling" is available in the NB CVS repository under platform/samples/AudioStation, or via web browser at http://www.netbeans.org/source/browse/platform/samples/AudioStation/
  • Dan Monday, March 5, 2007
    The Safari Books Online link doesn't lead me to the rough cut. It redirects to http://proquest.safaribooksonline.com/9780132354806 which is an empty page.
    Is there an alternate link I can use to obtain a copy of the rough cut?
  • Bogdan Iamandei Monday, March 5, 2007
    Safari Books online doesn't work for me either. Even more - it looks like the uni has a site license with Safari so I get logged in automagically. If I log out - and try the link, it brings about a pretty much blank page with a header and a footer, and that's it. And the source is just obfuscated JavaScript....
  • Geertjan Monday, March 5, 2007
    OK, thanks for these comments Bogdan and Dan! I;m contacting the publisher right away. Please don't give up trying though! Will let you know what transpires.
  • Dan Tuesday, March 6, 2007
    I apologize for the inadequate detail in my description of this problem.
    I should have mentioned that I am using Firefox on Fedora from an IP block that clearly has an account with Safari Online.
    Using Firefox or IE on a 'doze box gives the same results...the only common denominator would appear to be the IP block...surely that can't be the problem though?
    I presume your posted link works fine for you Geertjan...very odd! :-)
  • Geertjan Tuesday, March 6, 2007
    Hi Dan, Thanks for the details. Could you send me an e-mail (to g_wielenga@yahoo.com) with your e-mail address and then we can try and work out what's going on here? I informed the publisher and we're trying to establish what the problem is here.
  • Geertjan Tuesday, March 6, 2007
    PS: Plenty of people seem to have successfully bought the book already, so there must be something specific going on.
  • Geertjan Tuesday, March 6, 2007
    I've been told there are many ways to get to the title on Safari. Try either of these:


  • Bogdan Iamandei Wednesday, March 7, 2007
    Hi Geertjan,
    Definitely it is location dependent. From home, through Optus (my ISP) it works like a charm. From Uni however, no dice. Plus the fact that I get automagically logged in as Uni of Queensland.
  • Clive Wednesday, April 11, 2007
    Hi Geertjan,
    I have been looking at buying the book and I'm very excited to finally have a book from which I learn the NB Platform. My only question is, which version of the IDE / Platform is this book written for? Is it 5.5? 6.0? (hopefully not 4.x or earlier).
    Please let us know.
    Thank you.
  • Geertjan Thursday, April 12, 2007
    5.5 and 6.0.
  • Geertjan Thursday, April 12, 2007
    PS: However, only APIs that were stable at the time of writing the book are included. So, for example, the Visual Library is not in there. Schliemann is not in there either. It would have been too risky to discuss APIs that were not 'stable' i.e., that had not been integrated into the 'trunk' of the NetBeans sources.
  • Bo Thursday, April 19, 2007
    Hi, Greertjan,

    When will you make sample code available? I need some of them helping my reading rough-cut I bought. I found some code I copy/paste from the book does not work. For example, in Chapter 5/Tracking the Global Selection:

    public class Installer extends ModuleInstall implements LookupListener {...

    "Installer" should implement Runnable too.

    Also, Lookup.Result<...> is used in the code, which only works for 6.0.

    Thanks, Bo

  • stophi Wednesday, June 6, 2007
    ... and the attribute "result" should be declared "static".

    private static Lookup.Result<Object> result = null;

    It seems to me that it will be killed by the garbage collector, otherwise.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.