Yet another Eclipse / NetBeans comparison

A week or so ago, I downloaded NetBeans 5 RC2 specifically to play with the mobility pack, but figured I might as well explore its capabilities as a J2SE IDE.

For those of you who like their blog posts short and snappy - “Neat, some cool stuff in there, but I’ll be sticking with Eclipse for now”. For those who can handle a couple more paragraphs, read on…. :)

To start with, can I join the crowd and say “Matisse rocks!”? Matisse is the visual editor for Swing apps, and it is fantastic - in 90% of cases it does what you mean: you put an object right on the left border, and it figures that that object should be anchored to the left. You place one button next to another and it keeps them together and snaps them to be level. I played with Eclipse’s Visual Editor in a recent small project, and it has a ways to go to catch up to this.

But (and there’s always a “but”, right?), the killer for me was that “90% of cases” phrase - its the other 10% that comes back to bite you. For instance, I wanted to do a a little “cross” of buttons - and up, down, left and right, laid out in a diamond. After having been spoilt with the editor doing what I meant for the rest of the UI, I found it a bit jarring when I was doing “free form” component layout - buttons were slightly off, by a pixel or two and it kind of “looked” wrong.

There’s probably a hidden “layout in a cross” option I missed :). And I could have added a panel, set it to GridBagLayout and done it that way (Matisse has good support for GridBag). And how often do you want to have buttons in a bizarre shape like that anyway? But it kind of broke the spell for me in a way. I’m a big believer of being “in the zone”, development-wise, and switching between IDE modes (code and visual) is a real context switch for your brain - to compensate, I think I need almost perfection from the Visual Editor. Matisse is soooooo close, but isn’t quite there for the fiddly cases. (How would I have liked Matisse to handle my peculiar layout requirement? I have no idea!).

Matisse is the big ticket item - the rest of the IDE is good, but not compelling from where I sit. There are some winners, though. I love the idea that the IDE is ant based - take your development directory, zip it up and give it to someone else, and they can compile, test, build, etc. Ant seems to be the one big constant across teams - it makes so much sense to have it as the backbone of your development processes. And the fact that a test folder is created when you start a new project is a little nicety, but a good one.

On the downside, on my machine (2 Ghz with a ridiculous 512Mb of RAM), NetBeans is noticeably more sluggish than Eclipse - maybe this is an SWT thing? (I hope not, I’m one of those Swing fans ;) ). And the plugin environment for Eclipse seems so much richer at the moment - I even have a VI plugin for my Eclipse for when I’ve been doing a lot of Unix work and keep on putting the letter “i” throughout my source code (you Unix guys will know what I mean)!

So, I’m staying with my Eclipse for now. It was certainly worthwhile to check out though, and I’m still planning to do my next little J2ME project with NetBeans - I’m keen to give that Mobility Pack a proper workout.

3 Responses to “Yet another Eclipse / NetBeans comparison”

  1. Roumen says:

    Hi, there’s a couple of tricks that can help you with your cross button scenario. You can hold Alt when placing the components, then you can place them more freely. Also right-clicking and setting a different space around component may help when fine tuning. Let me know if this helped.

  2. dasman says:

    Great tip Roumen, thanks - this certainly makes it easier to place the components exactly where you like. And, pleasantly, it seems to work How You Would Expect for resizing the window too, which is great! :)

    (I did notice that my intuitive use of this is to keep the alt key down while doing little adjustments, but this seems to require 2 clicks to “grab the component” - after the first adjustment, the first click-hold seems to de-select the element, while the second “grabs” the component as you’d expect).

Leave a Reply

Couldn't find your convert utility. Check that you have ImageMagick installed.