Some Thoughts On Netbeans

Posted by Stuart Herbert on March 26th, 2009 in Opinion, Toolbox.

When it comes to IDEs for working on PHP projects, I’ve been a relatively happy user of phpEclipse for several years. (Tried Zend Studio, but never managed to convince Zeev about how much it sucks). But when the guys in the office started switching over to Netbeans, I thought it would be interesting to take a look for myself.

I’ve been using several of the nightly builds on both Linux and OS X for about a month now, after reading on Planet PHP about the UI improvements vs Netbeans 6.5. Apart from one bizarre problem, in general the nightly builds have performed well; I haven’t come across any major bugs in the builds. I don’t care about integrated source control, deployment or Apache management. What I care about is a solid IDE that saves me time, and helps me quickly work with larger PHP projects where I’m not yet intimately familiar with the code.

Positives:

  • Performs well enough … keeps up with my typing.
  • Code completion works more often than not.
  • Doesn’t have the annoying lockups that Eclipse-based editors suffer when they decide to rebuild the project.
  • Code refactoring (BIG time saver) worked every time I tried it.

Drawbacks:

  • A real memory hog – my copy is using half a gig of RAM with just 4 editor tabs open. Ignore the memory usage that displayed inside Netbeans itself (which currently claims 99MB being used); it’s either selective in what it monitors or is just plain fubar.
  • Doesn’t use any native controls on OS X; looks fugly and doesn’t mimic standard OS X dialog boxes or behaviour.
  • Too many dialog boxes; UI could be simplified with in-place editing or just skipping the dialog box completely (a la phpEclipse).
  • No shortage of time-wasting UI design, such as not auto-populating the Find in Projects search field.
  • No context-sensitive help on F1.
  • No bundled documentation for PHP itself.
  • xdebug support no use to me. I was unable to debug a CLI script, and I was unable to debug a website unless I went through the website’s homepage first.
  • phpUnit support no use to me either. To use phpUnit from inside Netbeans, it requires all the tests to be in a separate folder tree. I choose to keep my tests in the same folder as the code under test.

I did find one bizarre problem with it. I was editing code stored on a networked drive whilst on the train, and I went through a blackspot which caused the networked drive to become disconnected. Netbeans did the sensible thing of marking all the open files as read-only, but once I had re-attached the networked drive, I couldn’t then save these files at all. Fair enough, I thought – I’ll just open the file again in another tab and copy and paste my changes across. Sadly, Netbeans wouldn’t actually copy the content of the read-only files into the clipboard at all.

Overall, I feel that Netbeans is a good editor, and I’m still using it every day on Linux (but not on OS X). The IDE features that relate directly to code all appear solid enough. The issues with phpUnit aren’t a big deal for me, but it would be nice to see the xdebug support overhauled and made useful one day.

Just a shame they can’t do anything about the fact it uses Java … :)

9 Comments

  1. Rob Wilkerson says:
    March 26th, 2009 at 12:42 pm

    I had been an Eclipse user for years (Java, ColdFusion, PHP, etc.), but finally had enough pain. My masochistic tolerances are finite. I decided to go entirely the other direction and scale back to a text editor. I’ve really enjoyed Komodo Edit. Lightweight as a text editor should be, but with just the right the right number of IDE features for my needs.

  2. Peter Bowyer says:
    March 26th, 2009 at 2:46 pm

    I’ve used Zend Studio for a number of years, but version 6 is horrible and I’m looking for an alternative. Keep us informed how you get on, I do like an IDE but not the pain that goes with the PHP ones!

  3. speedytng says:
    March 26th, 2009 at 7:34 pm

    1) Note Pad ++
    2) Zend Standalone IDE (5.5.1) -agree with Peter, went downhill from there :(

  4. Jani Hartikainen says:
    March 26th, 2009 at 7:48 pm

    NetBeans is a pretty good IDE, despite the some minor UI related flaws I think. One of the things I miss from Eclipse is the “New” dialog, which is done much better in Eclipse I think, mainly due to the search.

    RAM was never an issue to me. 4 GBs on my desktop, and probably getting at least 8 the next time I upgrade, so who cares if some app hogs it a bit more =) It could be NB is caching things in memory more actively than Eclipse, as various things seem to function much faster in it.

    Btw, at least 6.5 PHP bundle has the ability to display some manual details on internal PHP functions with the code-assist dialog. I think I had to manually enable the feature from preferences in 6.7 M2 tho.

  5. Stuart Herbet’s Blog: Some Thoughts On Netbeans : Dragonfly Networks says:
    March 27th, 2009 at 4:51 am

    [...] Herbert, in looking around for an IDE to work with, has given NetBeans a shot and has posted some of his thoughts on the software and how well it fits with this his [...]

  6. Timo says:
    March 27th, 2009 at 7:58 am

    What I really miss in NetBeans is something like a repository browser for SVN. I can checkout, update and commit, but I haven’t found the option yet to snoop around on the SVN repository and do some maintenance like branche of merge a project. That and the fact that I keeps throwing notices to me about configuration files that already exist (only on my computer at work) is the main reason I am sticking with Eclipse with PDT 2.0 for my job at this moment.

  7. kush says:
    March 27th, 2009 at 4:58 pm

    That memory usage indicator at the bottom of most IDEs is actually the java current/max heap space – as we all know that probably isn’t a good representation of the actual amount of memory the IDE’s executable is consuming.

  8. Kevin says:
    March 27th, 2009 at 5:42 pm

    Sounds like you’re using 6.5, try using the nightly. It addresses many of the issues you mentioned, including native osx widgets

  9. Stuart Herbert says:
    March 27th, 2009 at 8:31 pm

    Hrm … I am using the nightly (NetBeans IDE Dev (Build 200903110259), and if (for example) you go ‘File -> Open File …’ what appears is not the native OS X open file dialog box.