Ben Evans: My Five Favorite NetBeans IDE Features!

DZone 's Guide to

Ben Evans: My Five Favorite NetBeans IDE Features!

· Java Zone ·
Free Resource
Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Ben Evans.  -- NetBeans team.

Ben Evans is co-founder of jClarity, a startup which delivers performance tools & services to help development & ops teams. He is an organizer for the LJC (London’s JUG) and a member of the JCP Executive Committee, helping define standards for the Java ecosystem.

He is a Java Champion; JavaOne Rockstar; co-author of “The Well-Grounded Java Developer” & the new edition of “Java in a Nutshell” and a regular speaker on the Java platform, performance, concurrency, and related topics.

What are your 5 favorite NetBeans features?

1. Maven support. If you are using Maven for version control, you should give NetBeans a go. It. Just. Works. Other IDE's support for Maven ranges from the annoying to the incredibly frustrating. With NetBeans, it just ceases to be an issue. If I download some open-source code and it uses Maven to build, then I work with that project using NetBeans, because I don't want to waste time fighting the build system with my IDE.

2. Container support. If you're targeting Tomcat or Glassfish, why would you use anything else? The integration for those two containers is almost transparent. The speed with which you can get a new Java EE 7 project up and running is incredible.

A Java EE project in NetBeans (click to enlarge):

I'm looking forward to the new Wildfly support, and will probably do a bake-off between Glassfish 4.0.1 and Wildfly 8.1 for my next EE project.

3. Javascript and HTML5 support. The facts of life for the modern developer are that JavaScript, JSON and HTML are a part of virtually every project today - call it the weak form of Atwood's Law. We don't all have to become "JavaScript everywhere" developers, but having solid support for a crucial set of technologies within our everyday set of tools is important, as it saves us the cost of context-switching to a specialist tool when we need to edit JavaScript.

A JavaScript project in NetBeans (click to enlarge):

NetBeans support is rock-solid, to the point where I have introduced web designer colleagues to NetBeans, and they now use it as a primary IDE - which of course means that we get further benefit from all being on the same toolset.

4. Beginner-friendly. I was lucky enough to be asked to present a set of introductory Java programming videos for O'Reilly recently (to accompany the release of the new edition of " Java in a Nutshell"). I am a firm believer that a modern IDE is the only way to introduce novice developers to the world of programming, so I spent some time evaluating which IDE I would use in the videos.

I was pleasantly surprised that NetBeans came out as the clear winner. With every other IDE I knew that there would be wrinkles in the setup where I'd have to say: "Don't try to understand why it's this way - just trust me for now", and I'd imagine what I'd have to say to my students to help them get past that mental hurdle. I spent a long time thinking what that hurdle would be for NetBeans, and then I suddenly realized that it just didn't exist.

That simple fact, combined with the comprehensive help system, makes NetBeans the best for beginners. I'm amazed that more Universities don't use NetBeans as the primary teaching IDE for Java.

5. Community. Since I started using NetBeans, I've been amazed at how friendly and responsive the community is. Basically every problem I've had has been dealt with by someone from the community reaching out amazingly quickly. Not to put too fine a point on it (& I won't name and shame ) but I have paid thousands of dollars for professional support contracts with vendors that come nowhere near what the NetBeans community provides for free!

Do you and your colleagues also want to share your team's favorite NetBeans features with the world? Write to netbeans dot webmaster at gmail dot com.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}