I am working on an exciting web prototype project at the moment and I am using NetBeans 6.1 rather than my usual Eclipse environment. Overall I am very happy with the experience. The good points are:
- NetBeans seamlessly integrated with my existing Tomcat instance, configured it correctly and makes it easy to build and deploy my application making my build-compile-deploy cycle as quick as it has ever been
- The Javascript support is excellent and allowed to discover the JQuery API with no problems
- It has been easy to define libraries and have them brought in to the project
- The built-in XSLT validation and one-click transform of a test file is really powerful and very simple to use
- Associating a web project with different deployment servers is easy
- The GUIs for writing Java Web App configuration files is great
- Managing NetBean Modules is easy and the interface is good
- NetBeans 6.1 is fast, really noticably faster than 6.0.1
That is a whole lot of positive, so what hasn’t been so good?
- Code templates complete on a different keystroke to code completion. The seperation doesn’t make sense to me. Both things are about completing what I have typed.
- The window of opportunity for completing a code template is too narrow. If you don’t complete while typing the template stub then it doesn’t work.
- When entering the parameters of a generated method you have to hit return too much. If the auto-generated code has aready correctly assigned variables to the parameter position then I’m done. At the moment though you have to hit return for each parameter otherwise the code generator gets in a tizzy and often opens brackets on the line below the current method.
- Really gnarly HTML can take a long time to parse for the navigator windows and the slowdown is noticeable across the whole IDE. XML blazes by comparision.
- There’s a lot of magic going on to make the project work automagically and there isn’t a good “raw” representation of the project that would make it easy to work from CI and the command-line.
Essentially most of these problems are to do with the interface being too fussy and in some cases too specialised. However I do thing I am getting the benefit of the integrated development environment and while it may not be as fast as Rails it is some of the fastest Java web development I have ever done.