Saturday, 27 October 2007

My Introduction to Netbeans

When my ancient JBuilder4 would not run JDK 1.4, I had to find a new IDE or pony up the $$$ for a new version of JBuilder.  I run a small consulting firm, so I get to make the decisions.  Since both Netbeans (4.0) and Eclipse (2.1?) were on the scene by that time (early 2005) I decided to give them each a test drive.  I downloaded both packages and tried them out without the benefit of reading any documentation.


The clear winner out of the box for a user with no experience with either IDE was Netbeans.  This does not necessarily make Netbeans a better overall choice, it was just easier to get started.  I found it easy to create projects, write code, compile and run the code.  The concepts of projects was easy to grasp and the structure of the directories was easy to understand. 


Eclipse, on the other hand, expected me to understand workspaces, projects, perspectives, builders, build paths, and so on, before I could get something to work.  The terminology does not match any Java terminology that I am aware of and there did not seem to be any definitions or explanations anywhere.  It was just assumed that you would know what these objects represented and why and how you would use them.  I think the Help (which was all that I read, and not much of that) was too generic, assuming that you might be using the platform for almost anything rather than for writing Java code.  Based on this narrow distinction, I chose Netbeans.


I have enjoyed Netbeans.  The product is being continually enhanced by the product team at and it has served all my needs well.  Most of the time I don’t demand too much out of my IDE.  I need to be able to easily write code and refactor, quickly run through modify, compile, test cycles, and easily access code in multiple projects at the same time.  I have written a lot of Swing and the GUI builders in 2005 were good for the initial layout.  I found that manual adjustments were always needed after the fact either through code modification or more often by adjusting (sometimes many) properties through the GUI. 


The debug features are quite nice and allowed me to quickly locate bugs that cropped up in my code.  I also make use of the database access features.  This allows me to connect to a variety of types of databases from within my GUI and poke around quickly and easily with a consistent interface.  My customers use a variety of databases with Oracle, Sql Server and MySql being the most frequent choices.  I like to write my apps to be as database agnostic as possible as I occasionally have a customer switch the target database during the project once they see what the production licenses will cost.


I also write small webapps that are pretty typical custom apps for small to mid-size businesses.  Netbeans has proven up to that task as well, integrating well with Tomcat and allowing quick turnaround with hot code replacement.  The CVS enhancements made in Netbeans 5.0 have made the CVS integration far easier to use.  The Matisse GUI Builder in 5.0 is also a winner. 


Netbeans has done a good job for me.  It is easy to learn to use, which is important as I bring on new developers.  That's it for now.  More on Netbeans and Eclipse is coming in future entries.

Posted by john at 3:52 PM in Netbeans
« May »