Eclipse and NetBeans: A Tale of Two Rich Client Platforms

I've been talking off and on with Kai Toedter from Siemens about proposing a technical session for JavaOne on the differences and similarities between the NetBeans Platform and Eclipse RCP. We're now at the point where we're formulating a proposal (since we only have until the 15th to do so). This is what our plans are so far (although we may change things here and there before the 15th):


Eclipse and NetBeans: A Tale of Two Rich Client Platforms


Currently rich desktop clients are becoming very popular again. The NetBeans Platform and the Eclipse Rich Client Platform (RCP) both offer a rich framework on which developers can build very advanced desktop applications without reinventing the wheel. These platforms offer standard functionality out of the box, such as a windowing system, update functionality, a help system, and branding concepts. They also both offer a module based runtime system.

However, what are their differences and how do they stack up against each other? On the surface, one of the fundamental distinctions is the choice of UI toolkit. Eclipse RCP uses SWT, while NetBeans Platform uses Swing. What are the consequences of choosing these distinct toolkits? And, what support do the corresponding IDEs give, such as their approaches to development cycles and ease of development?

In this presentation we will use a demo application built on both platforms to illustrate the ways in which each platform implements the same features and to compare the different approaches.

Presentation Summary:

  • Introduction and architecture overview of both platforms
  • Fundamental concepts
    • Swing and NetBeans Core UI <-> SWT, JFace and Generic Workbench
    • NetBeans Module System <-> Eclipse OSGi based Platform Runtime
    • NetBeans System Filesystem and XML Layers <-> Eclipse Extension Point Mechanism
  • Introduction of the demo application "MP3 Manager" on both platforms
  • NetBeans Suite and Modules <-> Eclipse Features and Plug-ins
  • NetBeans Window System, TopComponents, & Editors <-> Eclipse Perspectives, Views, & Editors
  • NetBeans Node system <-> Eclipse resource and workspace concept
  • Integrating update functionality
  • Other ancillary topics, such as product branding and help system integration

How does the above proposal sound? If you were at JavaOne, would you be interested in this technical session?


Sure. If I visit Java One count me in on this ;-)

Posted by Sven Reimers on December 07, 2006 at 03:30 AM PST #

Would I be interested? If I were going to be in the country for JavaOne this year, I'd want to help present it :)

Posted by Rich Unger on December 07, 2006 at 03:30 AM PST #

Yes this would be a very interesting session. Most the time developpers I work with stops on 2 points: 1. SWT looks native, Swing is not, is ugly (damned) and slow. 2. I use Eclipse, why shall I switch to NetBeans? From my point of view they are not open minded enough. But you shall keep this secret :-) I would be interesting to highlight how bean/data persistence can be managed on both platforms. Final packaging shall not be ignored. The ability to provide a native installer (or a DMG for Mac users) is also very important. Webstart enabled application are also a pretty good way to offer an alternate packaging method. This shall be discussed also. That would be good to see the result online after JavaONE for all of us that could not afford attending the session :-) I'm sure you will!

Posted by Sylvain Gamel on December 07, 2006 at 05:48 PM PST #

It would be very interesting though I won't be able to visit JavaOne :)
Sylvain Gamel, a year ago I was an obedient Eclipse user. After trying NetBeans (why??) I understood what I was missing in Eclipse (though now I am lacking in some really useful plugins, e.g. AspectJ support). Now I can say I even don't have a wish for trying new versions of Eclipse. Moreover I never force somebody's hand to use NetBeans -- I just show the NetBeans' way of solving problems.

Posted by Ivan Pavlov on December 08, 2006 at 12:56 AM PST #

Sylvain, Same old story w/ your complaints about Swing. Have you tried IntelliJ? It's faster than Eclipse. Unfortunately it's not free though. Swing has improved so much since 1.3. And honestly...who cares about native looking!? Perhaps more desktop developers than anyone else, but most of the development world on the AJAX web development side doesn't! In the land of RIA and Web 2.0, Native looking will prob hurt more than help esp when compared to Flash like apps(read Flex, and Adobe's soon forthcoming Apollo)

Posted by Stephen on December 08, 2006 at 02:38 AM PST #

Continued to write
best regard

Posted by alireda on December 08, 2006 at 05:55 AM PST #

Yes I would be very interested in seeing the final presentation online, as I am not able to make it to Java One. This would be very informative to me, as I am C/C++ developer that is just learning Java and has been tinkering with both these IDEs.

P.S. In no way am I trying to sound bias for one or the other, but so far it seems that NetBeans has a richer feature set at the cost of speed and Eclipse is native fast but with a bit of a learning curve. So, which is the better IDE/Framework?

Posted by Adam Metzler on December 08, 2006 at 01:16 PM PST #

This is of particular interest for me. I was an old eclipse experimenter and now using netbeans. I would really like to see a comparison between both as I intended to do the same also in choosing one for the other for an academic research project i am currently undertaking.

Posted by errol dennis on December 11, 2006 at 02:57 AM PST #

I certainly would attend if I am at JavaOne. I use NetBeans and I really like it, but most developers around me use Eclipse. It'd be nice to see side by side the pros and cons of both tools.

Posted by Cecilia Vargas on December 11, 2006 at 04:27 AM PST #

I would have loved to be there, but being in a far country, its not be possible for me. Still I am awaiting the transcripts and presentations for the session. I have been an avid Eclipse user for some time now, but lately I have started using NB. Some of functional ways in NB seems to be easy and speedier than Eclipse. As quoted by Rich, the installer and packaging must not be ignored. I would also like to see a comparison of not only the modular system (extension point), but also a comparison of the features of various plugins available. A slide on performance aspects would be great, like memory consumption, startup time, break-downs, etc. Also a comparison of the future roadmap between the two, their convergence towards a common goal may also be a good point of discussion. If this doesn't makes up to the conference, still can we have a thread or a blog to continue on this. :-)

Posted by Sandeep Gupta on December 11, 2006 at 12:08 PM PST #

Such a comparison would be great if it will be published as paper. I'm currently writing my PhD thesis and I need to insert bibliographical references why I use the specific RCP for my scientific application. So far I didn't find anything after searching for hours.

Posted by Stefan Flemming on December 11, 2006 at 06:10 PM PST #

I would certainly attend this JavaOne session. This is great stuff and very necessary. Few people know enough about both topics to discuss the comparisions intelligently.

Posted by Michael Bushe on December 20, 2006 at 04:22 AM PST #

I would definitely attend this session. Not only this concentrates on netbeans, this comparison will show how netbeans is a far superior platform for developing apps.

Posted by Aswin Anand on December 24, 2006 at 12:31 AM PST #

Check out this presentation from JavaOne2006. A light-weight version of something like what you are thinking about:

Posted by Mikael on January 03, 2007 at 04:16 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« July 2016