NetBeans Platform
From APIDesign
Line 1: | Line 1: | ||
The heart of any [[NetBeans]] based application. The only [[Swing]] based modular application [[framework]]. More info at http://platform.netbeans.org | The heart of any [[NetBeans]] based application. The only [[Swing]] based modular application [[framework]]. More info at http://platform.netbeans.org | ||
+ | |||
+ | == For Beginners == | ||
+ | |||
+ | There is a new book about the [[NetBeans Platform]] and I am fascinated by it. During writing my [[TheAPIBook|Practical API Design]] I tried to stress as much as I could that proper API entry point should not be [[Javadoc]] with its list of classes and methods, but a list of [[Usecase]]s. Because newcomers using your [[API]] are not interested in hierarchy of your classes - they have a problem and they want to solve it. If the [[API]] contains [[good]] list of [[usecase]s, the chances are high, one of them will match user's need and it will be easy to use it as a starting point and modify it slightly to solve the actual need. | ||
+ | |||
+ | The '''[[NetBeans Platform]] for Beginners''' book has exactly this structure. Each chapter is focused on one of such [[usecase]], describes what problem it helps to solve, and only then the book shows the actual [[Java]] code on a cute car related sample. The high-level concepts and their usefulness is described first, the actual usage later. Gory [[API]] details (like description of {{nb|org-openide-dialogs|org/openide/WizardDescriptor}} class) is left for the last chapter. I love the approach: This is the book that should replace our standard documentation! | ||
+ | |||
+ | [[I]] often say that [[I]] have become good API designer by making all possible mistakes when designing [[NetBeans]]. One of such mistakes was not enough stress on [[usecase]] description in our [[Javadoc]]. We improved significantly in recently designed [[API]]s, but the old ones, are really too ''class hierarchy''-oriented. We don't have cycles to fix that, but there is one thing I am going to do: I will put reference to ''[[NetBeans Platform]] for Beginners'' into each module [[Javadoc]] entry page - because, if you are developing [[modular]] desktop application in [[Java]], this book is clearly a must read! | ||
+ | |||
+ | [[Image:NetBeansPlatformForBeginners.jpg|right|Go to https://leanpub.com/nbp4beginners]] |
Revision as of 10:49, 23 July 2014
The heart of any NetBeans based application. The only Swing based modular application framework. More info at http://platform.netbeans.org
For Beginners
There is a new book about the NetBeans Platform and I am fascinated by it. During writing my Practical API Design I tried to stress as much as I could that proper API entry point should not be Javadoc with its list of classes and methods, but a list of Usecases. Because newcomers using your API are not interested in hierarchy of your classes - they have a problem and they want to solve it. If the API contains good list of [[usecase]s, the chances are high, one of them will match user's need and it will be easy to use it as a starting point and modify it slightly to solve the actual need.
The NetBeans Platform for Beginners book has exactly this structure. Each chapter is focused on one of such usecase, describes what problem it helps to solve, and only then the book shows the actual Java code on a cute car related sample. The high-level concepts and their usefulness is described first, the actual usage later. Gory API details (like description of Template:Nb class) is left for the last chapter. I love the approach: This is the book that should replace our standard documentation!
I often say that I have become good API designer by making all possible mistakes when designing NetBeans. One of such mistakes was not enough stress on usecase description in our Javadoc. We improved significantly in recently designed APIs, but the old ones, are really too class hierarchy-oriented. We don't have cycles to fix that, but there is one thing I am going to do: I will put reference to NetBeans Platform for Beginners into each module Javadoc entry page - because, if you are developing modular desktop application in Java, this book is clearly a must read!