Why I Switched from Eclipse PDT to NetBeans IDE

Filed under

I had started a post highlighting the recent Eclipse PDT 2.0 release but now find myself dropping the post and the Eclipse IDE altogether. Instead, I'll share why I've switched from Eclipse PDT to NetBeans.

First, it should be said that Eclipse 3.4 and PDT 2.0 are huge improvements over previous versions. They're smaller with fewer dependencies. Eclipse 3.4 launches and closes much faster than previous versions thanks to greater use of application and project data caching. PDT 2.0 sports new object-oriented programming features that make navigating and viewing class method relationships really easy. So, with all of these improvements, why change?

Regardless of the server-side languages an IDE supports, it must also provide robust support for writing JavaScript. It must also provide support for today's popular JavaScript frameworks, including dojo, jQuery, and YUI. Currently, Eclipse's JSDT plugin does not support these libraries. I've been writing a lot of jQuery lately and JSDT riddled my scripts with error highlights. There is a JSDT patch available to add jQuery and YUI code assist support to JSDT but I was only able to apply it to Eclipse 3.3 and PDT 1.3.

I'd read good things about the NetBeans 6.5 release which added PHP editor support. My frustration with JSDT's lack of jQuery support pushed me to download NetBeans and give it a try. I must say that I'm impressed, particularly since this is the first NetBeans release to support PHP editing.

I didn't need a tutorial to install and configure NetBeans to match my Eclipse environment. NetBeans came with everything I needed out of the box. Here are the hightlights.

  • The Basics: Project support, code navigation, syntax highlighting, code folding, refactoring, code templates, etc.
  • CVS and Subversion support.
  • PHP function completion, documentation popups, and phpDoc autocomplete.
  • Debugging with xDebug.
  • Basic project deployment tools.
  • Complete JavaScript code assist and completion.
  • Support for jQuery and YUI code completion.
  • HTML/CSS code completion and validaiton. The CSS preview pane is very cool.

Nice! No need to install plugins to get version control and debugging support. The NetBeans site provides good documentation and a number of getting started tutorials.

I did have a few issues that are worth mentioning.

  • Watch out during commits as, unlike Subclipse, NetBeans will automatically svn add new files to your repository for you. I committed a few files before they were ready during my first commits from NetBeans. You can easily add files to an ignore list or deselect files when performing commits.
  • It took me a while to become accustomed to NetBeans UI. There's more flexibility in how navigation panes can be dislayed in the workspace. I didn't like this at first, but it's grown on me.

I've used Komodo IDE and Zend Studio and am amazed at how close NetBean's feature set is to these commercially licensed packages. If you're looking for a new IDE, give NetBeans a try.