NetBeans and Eclipse Have Taken Different Routes.
JAXenter speaks with Geertjan Wielenga on why he believes has the edge over Eclipse.
After posting a
blog stating that NetBeans’ Swing UI toolkit makes it a more
attractive IDE than Eclipse with its Standard Widget Toolkit,
JAXenter caught up with NetBeans technical writer Geertjan Wielenga
to find out exactly why this should be the case, and to discuss the
possibility of a NetBeans/Eclipse integration…….
JAXenter: You recently posted a blog entry
claiming that one of the features that attracts users to NetBeans,
is that the platform uses the standard UI toolkit. What does this
particular toolkit, add to the NetBeans experience?
Geertjan Wielenga: It’s the standard UI
toolkit. Typically, large organizations take standards very
seriously. Practically speaking, as well, when porting an
application to a rich-client platform, do you want to waste time
learning a new UI toolkit or do you want to simply copy and paste
your existing components into your newly adopted framework? Don’t
take my word for it. Read what actual NetBeans Platform developers
say on the NetBeans Platform testimonials page about the
“The added value is that it’s Swing. Before the NetBeans
experience, I had looked quickly at Eclipse RCP; at the time it was
probably the only viable framework for developing desktop
applications. But I hated the idea of learning a new set of APIs:
Eclipse is based on its own SWT… and throwing away my knowledge,
even though limited at the time, of the Swing APIs.”
Fabrizio Giudici, Tidalwave, Italy.
“The NetBeans Platform’s use of pure Swing (as opposed to
Eclipse’s use of SWT means that integration with other products is
Dale Thoma, Saab Grintek Systems, contracted to the South
African National Defence Force.
“I wanted a cross-platform application and the UI needed to be
the same on all operating systems. This ruled Eclipse RCP out as it
isn’t Swing-based, but the NetBeans Beans Platform is.”
David Beer, independent contractor, England.
“What we needed was the whole application framework, including
menus,preferences, workspace system, windows and dialogs system
etc, and it had to be Swing because our application is
Tonny Kohar, Skesta, Indonesia.
“With ‘Matisse’, the Swing GUI builder, you can visually design
your components, which facilitates layout management.”
Tanja Druke, Genomatix, Germany.
JAXenter: You also state that Eclipse’s
proprietary UI toolkit, in your opinion makes it an unattractive
IDE – what is it about this particular toolkit, that you
Geertjan Wielenga: SWT (1) is not the standard
UI toolkit, meaning that adopting Eclipse RCP means converting
Swing components to SWT, assuming you’ve spent the time learning
how to do that, (2) no longer has any performance gains over Swing,
(3) requires additional libraries for each operating system, (4) is
harder to modify and extend, (5) has far fewer external libraries
than Swing with which to integrate.
JAXenter: You write that Sun has done a bad job
of marketing the NetBeans Platform. Why do you believe this to be
Geertjan Wielenga: Because it’s true! NetBeans
and Eclipse have taken different routes – NetBeans has sought to
provide a very solid IDE that works out of the box, while Eclipse
has aimed at providing a generic platform on top of which
applications can be created. To Eclipse, their IDE is secondary,
which has worked out great in terms of the adoption of the Eclipse
RCP, since that’s been the focus, but to the detriment of Eclipse
IDE — there are many projects contributed by various individuals
and groups all contributed to Eclipse IDE, with few of them being
tested in combination, so that it’s often very hard to get started
developing something — because you need all the right plugins.
NetBeans, on the other hand, in focusing on the out-of-the-box
experience, has put its framework (i.e., the NetBeans Platform) in
second place. Makes sense in many ways, but has resulted in Eclipse
RCP being far more widely known than the NetBeans Platform. That’s
a pity because the NetBeans Platform currently provides the
complete package — out-of-the-box support for both OSGi (de fact
standard module system,) as well as Swing (standard UI
JAXenter: You call for Eclipse RCP to provide
support for the NetBeans Platform. What form would you like this
integration to take? And do you think we can realistically expect
to see Eclipse RCP supporting NetBeans?
Geertjan Wielenga: Not that Eclipse RCP should
provide support for the NetBeans Platform, but that Eclipse IDE
should. There should be templates for getting started creating
NetBeans Platform applications, e.g. for creating new modules, new
windows, and new actions for NetBeans Platform applications.
I think this is a realistic request to ask of Eclipse IDE, since
many NetBeans Platform developers use Eclipse (and/or IntelliJ
IDEA) to create their applications.
The NetBeans Platform is a generic framework that doesn’t
require NetBeans IDE, so let’s open up the development process to
other IDEs and get more people using the best standards-compliant
combination there is in the RCP-space: out of the box support for
OSGi + Swing.
And who knows what the future will bring? Maybe JavaFX