Joshua van Aalst’s blog

April 14th, 2008

Introducing Netbeans 6.1 - Taking Netbeans from good to great!

Posted by Joshua van Aalst in Netbeans, Reviews

Having been a long time Netbeans evangelist and community tester of the Visual Web pack, I thought what better way to help support the Netbeans team than with an in-depth blog on the exciting new Netbeans 6.1.

I have been using Netbeans since version 3 for various software projects including my community website www.joshandfriends.com.au and the development of the Internet Bank at www.stgeorge.com.au . I have also had significant exposure to the Eclipse IDE whilst working at Macquarie Bank.

This blog is a thorough review of the Netbeans 6.1 IDE and its new features. I will also make many comparisons to the Eclipse 3.3 IDE.

The project

I plan to build a campaign management product to display advertisements on my website www.joshandfriends.com.au . For administrators this application will be secured through integration with Vbulletin forum software.

The review computer

A Dell Inspiron 6400 laptop Pentium Core Duo (not Core 2 Duo) 2ghz processor with 2g of ram, a 60g 7200rpm hard drive and an ATI mobility Radeon x1400 128mb graphics card.

Initial thoughts – IDE performance

The improved startup time of Netbeans 6.1 IDE was obvious. The initial IDE start up, with 3 projects of 2 ,700 files took 50 seconds and subsequent start ups took only 5 seconds! In fact the whole IDE felt lightweight and fast. This is a dramatic different to previous versions of the IDE which were sluggish when performing certain tasks.

Another noticeable performance benefit of Netbeans over Eclipse is the complete lack of IDE blocking. Classpath changes are quietly scanned in the background and do not cause performance degradation and by default projects are compiled when the user chooses to do so, rather than automatically like Eclipse, which locks up the IDE at non-opportune moments.

Project creation

One thing that I have found a little difficult when configuring a new Visual Web Project is that it is not obvious that the “Default Java Package” setting should be a java package in the format com.mydomain.myapplication . I have often created a new project only to quickly delete and re-create due to the lack of description of this field.

In addition, I found that certain combinations of frameworks are incompatible. For example the Visual Web Pack and JavaServer Faces frameworks clash over the faces configuration file. I would advise only allowing a single Web UI technology to be selected.

Another very welcome feature edition of Netbeans 6.1 is the library sharing which is much needed if Netbeans is to compete with Eclipse in multi developer development environments. The feature enables the developer to have jar libraries located in a central folder on the file system. The end result is that multiple users and workspaces can access the same set of jar library definitions. This was a big issue in earlier versions of Netbeans where developers would be forced to re-add all libraries for each workspace. Overall the feature was easy to setup and use. It even asked you to import jars into your common library directory if they weren’t already in there. The only constructive criticism I have is that later when I wished to move the library folder’s location I found no function to enable me to do so and also I noticed that I couldn’t change library names once they were created.

One thing I must add here is that I believe it would be extremely useful to have Netbeans work in Eclipse compatibility mode. Such a feature would enable Netbeans to read and write to Eclipse project files. I am aware of the Netbeans Eclipse Project Importer module but I find it almost never works in large projects due to the way Eclipse references jars. I also find that in the corporate world developers tend to try Netbeans one at a time rather than with an all out team decision to convert IDEs. Such functionality would allow a team member to use the IDE in harmony with other Eclipse developers. Intellij already offers this and it has helped the adoption of that IDE.

Refactoring

Upon creating a new web project I attempted to rename the default package as my requirements had changed. Netbeans displayed an error message: “Error: Cannot rename default package”. This is something I believe needs to be addresses as default packages will often need to be refactored after creation. On the upside, I was able create a new package and move the Netbeans generated JSF files to it.

New hot keys

If you are still making the switch from Netbeans 5.5 to 6 or 6.1 please note that the default hot keys have changed. This caught me a little off guard but all in all the new keys were easy to pick up.

Netbeans 6.0 editor niceties

If you haven’t tried the Netbeans 6 editor then you’re in for a treat! It has all the usual Eclipse niceties including the ability to click on an error message and have the IDE fix the error such as “Implement all unimplemented methods” and also auto generation of object and variable names.

The only feature I found missing, which is useful in Eclipse, is the ability to not only see a drop down list of open files but also to enter a text filter to search for a specific open file.

An added bonus for the XML editor was its new feature to format XML.

Visual Web improvements

Immediately apparent to Visual Web users is how clean and neat the generated JSPs and backing beans have become. The removal of the rarely used binding objects has resulted in this and if you need them you can add them manually back in.

Also new in Netbeans 6.1 is the ability to generate JSF CRUD (create, read, update and delete) pages for JPA entities. This was both useful and cool. Not only were CRUD pages generated but the IDE even generated an array of standard error and success messages.

A nice to have, on the Web development side, would be the ability to auto generate import definitions for classes in jsps.

CVS

Having somewhat missed the Netbeans 6 upgrade. I was very keen to try the enhanced version control functionality that was released with that particular version. Although the functionality was visually a big improvement I found that Netbeans lacks the ability to see an overall repository view, like the CVS view in Eclipse. I would suggest that a new section for versioning be added to the Services window which allows developers to browse repositories.

Clear and concise help

The supplied help available in Netbeans IDE is clear and concise. I referred to it several times whilst writing this blog entry and especially for accessing the new features available in Netbeans 6.1 such as the CRUD generator.

One Response to ' Introducing Netbeans 6.1 - Taking Netbeans from good to great! '

Subscribe to comments with RSS or TrackBack to ' Introducing Netbeans 6.1 - Taking Netbeans from good to great! '.


  1. on April 14th, 2008 at 9:48 pm

    […] Netbeans 6.1 a delight to use! […]

Leave a reply

You must be logged in to post a comment.