When looking for a rich-client platform as the basis of your applications, you will find that there are only two to choose from—the NetBeans Platform and Eclipse RCP.
The NetBeans Platform and Eclipse RCP are more similar than they are different. Both provide a framework for desktop application developers. In both cases, a large number of features are provided out of the box, from a docking framework, to an action system, to update facilities, and much more besides. In both cases, a rich set of APIs are provided, accompanied by many tutorials, FAQs, and several books.
However, there are some very significant differences that you need to be aware of when choosing between them.
|NetBeans Platform||Eclipse RCP|
|UI Toolkit||Standard Swing toolkit||SWT|
|UI Design||Free, award winning, Matisse GUI Builder||Commercial alternatives|
|Module System||Standard OSGi module system
or NetBeans-specific module system
|Standard OSGi module system|
|Build System||Out of the box, Maven or Ant||Proprietary|
|JDK Support||VisualVM, a NetBeans Platform application,
is in the JDK, so many JARs from the
NetBeans Platform are in the JDK too
|No equivalent support|
|Training||Free community-based trainings
for non-commercial organizations
|No equivalent support|
Below follow more details on each of the points in the table above.
UI Toolkit. When you use the NetBeans Platform, you will be programming with the official standard UI toolkit, which is Swing. Eclipse RCP, on the other hand, makes use of SWT instead. There are many advantages in using Swing instead of SWT. For example, there are thousands of 3rd party libraries available in Swing, which means that they are very easy to integrate into NetBeans Platform applications. SWT does not have that kind of wideranging support and therefore you will have far less 3rd party libraries to choose from. An example is in the area of UI testing: while Swing has Jemmy and similar tools, there are no great equivalents for SWT. In addition, SWT requires that native libraries be included with the end product, for each platform to which you deploy.
Thanks to Swing's look & feel support, you can completely customize the appearance of your application, so that it is totally unique and doesn't resemble any other application on the NetBeans Platform:
Many other screenshots of NetBeans Platform applications can be found here.