New Stuff in NetBeans: Profiler, Better Project Support
The session is titled "What's New With NetBeans IDE?" (TS-3204). The answer to the question in the title is some very cool new stuff. The session was lead by Steve Wilson, who's an engineering director at Sun in the tools area. Later on Ian Formanek, Sun's chief of technology for the NetBeans project , and Sun engineer, Jesse Glick, co-author of the book "NetBeans: The Definitive Guide", joined the session to do demos.
Wilson breifly went through some of the new features in NetBeans 3.6 and NetBeans 4.0. In 3.6 (which went out last April), the "biggies" are code folding, which allows users to collapse an entire source file down to something more readable (Wilson claims it's his favorite feature), and improved Web app support.
In 4.0 (scheduled to be released concurrently with J2SE 1.5 - probably in September) the biggies are automatic refactoring, support for J2SE 1.5, improvements in the code editor, and a new Ant-based project management system. Wilson claimed that with the new project management system, there will be no more need to mount files in 4.0. This brought a loud cheer from the audience.
Wilson also announced that they're taking a number of modules in the Studio product that are used to build enterprise beans and Web services, and making them available to the community. Wilson said that "this means that NetBeans, out of the box, will be a full-fledged development tool for the J2EE environment."
Wilson also said that performance profiling tools for NetBeans will soon be available to the community. And to illustrate that, Ian Formanek demo'd a new profiler module running with NetBeans 3.6 . The tool is based on a profiling engine called JFluid (see http://research.sun.com/projects/jfluid/) that was developed by Sun Labs. This was a truly awesome demo. Formanek ran the Java2D demo app and profiled it. First he requested a profile of the app's execution. Almost immediately three views appeared below the main window in the IDE. One tracked heap usage, another tracked thread usage, and the third showed the percentage of time doing garbage collection. The profiler can also provide other views such as CPU performance and application startup data. And it can provide very granular information. For instance, Formanek drilled down to list the amount of memory allocated to a single object in the running app.
Wilson followed with a demo that showed how easy it is to refactor an application. In his example he changed the name of a method and refactored it into the application. One nice thing abut the IDE is that before applying the change, the IDE lists all the places that the method is used, so you can determine whether a name change might cause a problem. Wilson also showed some of the new project managment features. Significantly, NetBeans will automatically generate a complete XML-based Ant script for a project. Then Glick came up on stage to show all of the boilerplate that NetBeans creates in the script. Everything is there to do the normal things you do with an Ant script such as compile the source code and run unit tests. You don't have to know anything about Ant to run the automatically-generated script. And for those advanced folks who want to customize the script, Glick showed how easy it is to do that.
I was pretty much blown away by these demos. I've enjoyed using NetBeans in the past. I think I'll enjoy it even more in the future.
One word of caution though: Someone asked Wilson about the performance of 4.0 versus 3.6. Wilson said with the new features like refactoring, NetBeans has gotten bigger and slower. (Not good.) But he said that people are working on this issue and the intent is to get NetBeans 4.0 performance to roughly match that of 3.6.