Book Review: Netbeans Platform 6.9 Developer’s Guide
September 15th, 2010 | by Tonny Kohar |Netbeans Platform 6.9 Developer’s Guide by Jürgen Petri comes with 273 pages. This is not Java beginner book or learning Java book, and not about Netbeans IDE as well. The author assumes zero Netbeans Platform knowledge. This book is written for developers who are comfortable with Java and Swing, and who would like to use a framework (Netbeans Platform) as the basis of their Swing applications.
The chapters structure is nice and follow the logical step and easy to follow:
- Chapter 1, Module: the basic building block of Netbeans Platform Application.
- Chapter 2, Forms: You learn how forms are created for usage on the NetBeans Platform, how their layout is set, and how to implement the related handling of events.
- Chapter 3, Window System: The NetBeans Window System, together with the API that it exposes, lets you arrange forms on the screen within a docking framework.
- Chapter 4, Lookup: The Lookup API provides a communication mechanism, comparable to an event bus, which is of central significance in the creation of NetBeans Platform applications.
- Chapter 5, Actions: You learn how to create actions and how to invoke them from menus and toolbars, including keyboard shortcut and context sensitive action.
- Chapter 6, Nodes and Explorer Views: A sophisticated MVC implementation for displaying business objects is made available via a set of extensible Swing components, which you can use without very much work at all.
- Chapter 7, File System: The File System API lets you access a NetBeans Platform’s virtual filesystem, which serves as the application’s central registry and configuration system.
- Chapter 8, Data System: The Datasystems API gives you access to the content of files. You learn how to extend a NetBeans Platform application to provide support for custom data types.
- Chapter 9, Dialogs: The responsibilities of dialogs in an application extend from the display of simple messages to the management of step-by-step procedural wizards.
- Chapter 10, Settings: which introduces you to the most important APIs and the entry points into the centralized Options window.
- Chapter 11, Help: HTML files constituting your documentation can be integrated into the application which can be invoked using action or keyboard shortcut
- Chapter 12, Branding: which enables the application’s ancillary details, such as icons and splash screens, to be customized.
- Chapter 13, Distribution and Updates: To let you distribute applications, and examine the various distribution mechanisms for NetBeans Platform applications including installer and online update.
Important, the book’s author write
“This book doesn’t aim to explicate all that the NetBeans Platform offers or to explore each and every corner of its many features. Rather, this book guides you through the development of a specific Java desktop application, while showing you everything that is relevant in the context of the particular application itself. That process, in turn, will lead you through the main features relevant to the development of most general
applications on the NetBeans Platform.”
For me, this book is really good to introduce Netbeans Platform development. It discuss all or most important API in Netbeans Platform from basic module creation to deployment and how to integrate them all together. Another good thing is this book using single application sample (Task Management Application) through out all the chapters. So each chapter add more features to the application sample, rather than each chapter using different example to describe the Netbeans Platform API. However, this book is not without flaw. Chapter 2 (Forms) discuss too much about Swing Layout and Netbeans Form Builder which is not necessary (IMHO, this book is not about Swing and Netbeans IDE, but about Netbeans Platform). Other than that, the book is good introduction to Netbeans Platform development.
I have been developing Netbeans Platform Application since few years and release (public release) at least 3 applications based on Netbeans Platform, so I know my way around Netbeans Platform API. But this book still give me few surprises regarding Netbeans API, and my favorite is the Lookup API (Chapter 4). And yes you can teach old dog new trick 🙂
Link To the Book
Additional Link related to Netbeans Platform
Tags: Book Review, Java, Netbeans Platform
7 Responses to “Book Review: Netbeans Platform 6.9 Developer’s Guide”
By swpalmer on Sep 16, 2010 | Reply
I have just started using this book…
Got to page 32 where everything stops working… very disappointing.
The example just doesn’t work on NB 6.9.1.
The form won’t compile (can’t find org.openide.* for lines like:
jLabel1.setText(org.openide.util.NbBundle.getMessage(TaskEditorPanel.class, “TaskEditorPanel.jLabel1.text”)); // NOI18N
).
The TaskEditor Module can’t see the TaskModel module, despite the declaration of the dependency and the making public of the com.netbeansrcp.taskmodel.api … so frustrating when the tool that is supposed to teach doesn’t work.
By Tushar Joshi on Sep 16, 2010 | Reply
Hi Tonny,
I agree this book covers many things you described very well. I have done a review of this book for a Veteran Java Developer who is new to NetBeans Platform at http://netbeanside61.blogspot.com/2010/09/book-review-netbeans-platform-69.html
For a person well versed in Java to learn NetBeans Platform the book shall work as it is written, but without the comminity ERRATA from the NetBeans Wiki the book doesn’t work for a new comer smoothly, as mentioned by the comment above.
Even I can figure out everything which was missng in that book, but the point is about spreading NetBeans Platform love, where this book need corrections.
To figure out that TaskImpl will not be available unless you publish the com.netbeansrcp.task package from TaskModel module is not intuitive for a New NetBeans Platform learner at the first time.
with regards
Tushar
By Tonny Kohar on Sep 16, 2010 | Reply
@swpalmer
Please check the book errata
By swpalmer on Sep 16, 2010 | Reply
@Tonny
That was not the problem. Even checking both of those packages they were not put on the classpath of the TaskEditor. I had to Edit the TaskModel under Properties | Library for the TaskEditor and select to put them on the classpath. Nowhere was this mentioned in the book or the errata. I suspect it depends on the order things are done it… I did things in the order given by the book.
By Tonny Kohar on Sep 17, 2010 | Reply
@swpalmer
Thanks for the info. And yes you are correct, it seems the errata need to be updated again regarding this case.
And the good news is the book errata is community maintained errata.
So this is another flaw of the books, some of the example is not working (out of the box) but the concept introduced by the book is still good.
note: I didn’t test the code line by line, I just read and try to understand the concept.