Thoughts on the Eclipse/NetBeans Interview

It's been quite interesting this morning at the JavaZone conference in Oslo. I was sitting next to Kirk Pepperdine from TheServerSide.com and I had mentioned the interview I published yesterday, with Kai about Eclipse RCP and NetBeans Platform. I started up my laptop while listening to the presentation, called up my browser, went to my blog, nudged Kirk, and then showed him the blog entry with the interview. He took my laptop from me, looked a bit at the interview, and then we started writing the short article that we published (all while sitting in that session at JavaZone) which is now available on TSS, here.

Since then, the hits on my blog have gone up a lot. Several sites have referenced the interview. But in one particular case, the link to the interview has been prefaced by someone's interpretation of what the interview says. And, the interpretation has been quite interesting to read. The only thing that one can objectively say about the interview is that Kai ported his application and that he experienced both good and bad things while doing so. When you get down to specifics, what Kai says is quite subtle, he actually points out both positive and negative experiences on each point that he makes. However, the summary in this case has completely taken the subtleties out of the conversation I had with Kai, with the result that the impression created in the summary is just plain wrong.

The summary in question is by Scott Delap (here) on InfoQ (which happened to be the session during which Kirk and I composed the article on TSS). Many things written by Scott are very bald statements that are not actually reflected in the interview which his article supposedly summarizes. Let's look at the last sentence, as an example (an important example, since that's the reader's lasting impression). Scott writes, as if paraphrasing Kai: "...serious consideration should be give to Eclipse RCP if native look and feel fidelity is a high priority." But, what does Kai actually say in the interview? Let's have a look:

"If there is no requirement about which UI toolkit to use, there might be a requirement that the application should look & feel as native as possible. SWT based Eclipse RCP would then be a very good choice, although the native look of Swing is constantly improving and in Java 6 should be even better in terms of native look and feel. In fact, both Swing and SWT are getting better and better and both are really fantastic UI toolkits. I started with Swing 0.2, and still am a Swing fan but I also like SWT, JFace and Workbench very much. :-)"

By no stretch of the imagination does Scott's little sentence reflect the content and spirit of what Kai said. Various other points in Scott's summary leave me with questions as well, but the above is the clearest example of someone creating a totally flawed impression, which really is very bad reporting.

The best response I've yet read on the interview was by Neil Bartlett in the comments at the end of the TSS article. He writes, among other things: "I think the interesting thing about this article is that it illustrates that, no matter which of the platforms you choose, you will be a lot more productive than if you build your entire GUI from scratch." And that's the point of the article—not to blow the trumpet for some rich client platform, but to blow the trumpet for all Java rich client platforms and to chat about some nice things and some less nice things in two of them. It is a very inclusive interview and it was written in that spirit. Interpreting it otherwise is really missing the point. (See here for another sad example, which seems a jumbled cut and paste job from the interview, TSS, and Scott Delap's InfoQ story.)

Comments:

Currently looking at starting a Java desktop project and have to admit that we are strongly favouring using Eclipse RCP over pure Java/Swing or NetBeans RCP.

To a certain extent this may be FUD - "nobody ever got fired for buying IBM" ;) . I did try the NetBeans tutorials back in Feb/Mar timeframe when I was getting re-acquainted with desktop java, but didn't find them to be as useful as the tutorial in the Eclipse RCP book for giving me an understanding of the capabilities of the platform. Having the book is a definite advantage (when is your's coming out?).

I decided to spend the afternoon today doing some more comparison research via Google. To be honest (and unfortunately), your interview seems to me to show Eclipse RCP in a more favourable light. Maybe its just because Kai is more familiar with Eclipse, or maybe its because I'm more familiar with Eclipse. But here is a quick summary of _my_ interpretation of some of Kai's points.

NB = NetBeans; EC = Eclipse

NB (-) means NetBeans trails Eclise; NB (=) means NetBeans matchs Eclipse; NB (+) erm! not there.

NB (-) lack of good documentation on how to take advantage of the specific aspects of the NetBeans platform.

NB (-) slow development time compared to EC - NB runs lots of ant scripts to apply change and restart app so can take 45 secs per change. Need to reduce development cycles of IDE

NB (-) Branding ok for splash screen but does not support branding of launcher icon or About dialog box. EC has support for branding on each feature as well as the product itself.

NB (-) Uses JavaHelp system which is a little bit outdated and totally static - apparently hit some hacks when i18n'g help. - EC has dynamic help which uses Tomcat as the web server and Lucene as the indexing engine.

NB (=) NB Update Center mechanism ok - can use supplied UI or use the related APIs directly. Can also use WebStart to get basic shell installed then use UpdateCenter for subsequent updates, similar to EC

NB (=) NB Progress API for async tasks good

NB (=) Docking system for NB good

NB (-) When want to do something as a beginner, hard to find a best practice example.

NB (-) Application life cycle handling and module installers not as good - needs hooks like PreMainWindowOpen etc

So I'm still looking for a good reason to consider NetBeans over Eclipse. The main decision factor from the article seemed to be whether you have an existing Swing app or whether native look and feel is important. Neither are particularly relevant to our decision.

The one thing that could 'swing' things in favour of NetBeans for us is the windowing toolkit. I've read an unprecedented number of posts on Swing vs SWT with respect to performance and portability and its pretty impossible to draw any meaningful conclusions, so I don't think that can be a decision factor.

The one thing that makes me slightly uneasy about SWT is that all the apps I've ever seen that use SWT are rather 'clinical' looking. Our app needs the power and flexibility of desktop GUIs and standard GUI controls, but with some of the 'pzaz' of a web 2.0 app. Maybe not quite as extreme as M. Guy's GUI makeovers, but somewhere in between. I'm not familiar enough with SWT, but my impression is that its less easy (if not impossible) to get such effects, because its native after all.

Other key important features for us are:
- a powerful, pluggable component model allowing application components to be independently developed and deployed into a desktop shell
- abilitity to rebundle and brand components in different combinations to create market aligned products;
- good software deployment and update support;
- good documentation and knowledge base, + available pool of skilled developers

Eclipse RCP just seems to have a lot of momentum and my impression is that more high profile customers are using it - the increasingly tedious examples of NASA and IBM (obviously ;) ), plus it seems like recently, not a day goes by without a new Eclipse RCP case study being added to their community pages. I was interested to see that an old employer of mine from London, JPMorgan, is now using Eclipse RCP too. If its good enough for them surely its good enough for me!

Well, anyway, sorry this comment turned into more of blog than a comment, but keep up the good work, and if you have any useful insights to convince me that NetBeans can match Eclipse in my key features list I'd be only too happy to take them onboard.

Posted by Martin Bayly on October 06, 2006 at 09:21 AM PDT #

Thanks for these thoughts. Feel free to drop me an e-mail at geertjan.wielenga@sun.com. Bear in mind that the comparison you make above is based on Kai's findings, not all of which are correct -- the 45 second start up time for example is, if you look back through these comments, incorrect. In terms of docmentation, tnhere is already MUCH more available than when Kai did his work and than when you last had a look -- go to http://platform.netbeans.org/tutorials. In terms of amount of tutorials and subjects covered, I'd say Eclipse and NetBeans are on par. The book (which we're working hard on) is planned to be released at JavaOne. Again, please drop me ane-mail and we'll chat more.

Posted by Geertjan on October 06, 2006 at 04:00 PM PDT #

hmm..this comes very late..but I couldn't help commenting on the post made by Martin. You can use "Eclipse Forms" if you want a Web 2.0 look. They are are actually _VERY_ pretty and have a 'web' look about them. Most of the editors used in PDE's with the fancy widgets and links use web forms. Overall I find Eclipse RCP easier than Netbeans at the moment. But the Netbeans IDE is definitely more responsive and feature-filled. Eclipse 3.2 is a drag..esp the horrendous update manager.

Posted by Tarun Elankath on November 10, 2006 at 10:24 PM PST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

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.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
12
13
14
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today