Strong words, I know, and there are definitely some qualifying statements. I am not throwing out Eclipse just yet because it can still do some things that Netbeans doesn’t. But first, let me say that I’m excited by Netbeans 6.1, which is currently in Beta. I’m excited because I see in it a product that will challenge Microsoft’s Visual Studio, especially for new users and those doing development without a computer science background.
Netbeans has a simple but powerful GUI designer. Create your application window, drag buttons onto it and then double click them to add code and events. If you’ve used the GUI builder in VBA applications, it looks and works a lot like that. And it is extremely easy to learn while at the same time providing powerful layout helpers.
Netbeans is also tightly integrated with a web application server which enables you to quickly write and debug web applications. Create your JSPs and servlets, hit run and voila!
The Netbeans website and documentation is readable by people who don’t yet know Java. I can’t tell you how important this is. The biggest barrier to Java adoption is all the acronyms. The tutorials are easy to follow and don’t assume you’re a CS expert. This is glorious! In 20m you can build a graphical calculator program and in 45m you’ll be building CRUD style graphical database applications.
And the best part is, unlike with Visual Studio, your applications will run on Windows, Mac OS, Solaris and Linux.
One more esoteric feature I like is that there is already a plugin for a distributed version control system. It’s mercurial, which is not the dvcs I use (I use bazaar) but that a plugin already exists implies it will be easy to integrate other dvcs systems. It also integrates SVN and CVS support.
So besides the above, why do I think Netbeans beats Eclipse?
- Netbeans is an IDE first, and a platform second. Through and through, Netbeans is a tool for writing code. Contrast this with eclipse, which, quoting from their homepage, is an “open development platform comprised of extensible frameworks”
- Netbeans is moving quickly. New features are being added and they’re being added in a way that makes them useful and mature. I’m not sure why eclipse lacks SVN and DVCS support, I’m not sure why there’s no GUI builder and I have no clue why you need a plugin to debug web applications.
- The features – SVN, application server, built in database access, web services support
With every line of code I write I start to like it more.
So where does Eclipse beat Netbeans?
- More programming languages supported. PHP is a biggie. There are at least 10x more PHP developers than Ruby on Rails developers, yet Rails is tightly integrated and PHP is derelict. For the record, I’d enjoy Python/Django support too.
- For RCP type applications Eclipse is better because it looks like a native program… on Windows it looks like Windows, on Linux/GTK it looks like GTK. That is nice. But if I were building an RCP application I’d still use Mozilla/XUL rather than eclipse, simply because it uses web technologies like XML, CSS and JS.
So where do they both need to improve?
- I’d like a GUI web page builder. Similar to the GUI form builder.
- I want to debug PHP web applications. And I’d like it to work out of the box on both Windows and Linux.
- I need easy testing of web applications in multiple browsers. Since Gecko (firefox) and Webkit (Safari) rendering engines are both free and open source, why can’t these be embedded into the IDE?
Things I’m looking forward to trying:
- I see there is a PHP project for netbeans but it doesn’t install on 6.1 beta and it looks like there are many steps to getting it working. I’ll keep my eye on it.
- I’ve been reading books and playing with Rails in my very limited free time so I look forward to giving it a shot in Netbeans. I wonder if it has the same quality of debugging as servlets.
- There is a RESTful Web Services plugin.