What's the Difference between NetBeans Platform and Eclipse RCP?
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.
Comparison Chart
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
Details
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.
UI Design. The award winning Matisse GUI Builder is
a standard part of NetBeans IDE. You can use it when prototyping
and designing your applications on top of the NetBeans Platform.
Its drag-and-drop capabilities and point-and-click features
make this an ideal environment for UI design. Many NetBeans Platform
users have cited this feature, together with the support for
Swing, as their main reasons for choosing the NetBeans Platform.
Eclipse RCP has
a similar tool, based on the Matisse GUI Builder, although it
is not free.
Module System. Both NetBeans Platform and
the Eclipse RCP makes use of the de facto
standard module system, which is OSGi. In addition,
the NetBeans Platform provides its own module system, based
the standard Java approach to modularity,
relying on an extension to the JDK 6 ServiceLoader class for
intermodular communication.
Build System. A feature specific to the NetBeans Platform
is the fact that its build system is based on Ant. Ant is
a standard, non-vendor specific build tool. As a result, you
are not locked into NetBeans IDE but can, instead, use the
command line to build your NetBeans Platform applications.
In fact, you can build NetBeans Platform applications out of the box
with Ant, and also fairly easily with Maven.
NetBeans Platform in the JDK. Since JDK 6 Update 7,
many of the JARs that make up the NetBeans Platform are part of the JDK.
The JARs need to be there because Java VisualVM, the new JDK tool,
is created on top of the NetBeans Platform. When building your
application on top of the NetBeans Platform, this fact
can be useful, both
for development and delivery purposes.
Free Training. The NetBeans team offers free NetBeans
Platform certification to universities, colleges, and schools, as well as
non-commercial institutions in general. (Write to
if you are interested.) A customized version of this course
is available to companies, at a standard price. Eclipse RCP
does not offer free trainings of this kind.