I started to use NetBeans since the 5.0/5.5 version just for Java EE development. Now I'm using it for everything, even creation of websites.
"Why you are using NetBeans?" I get this question a lot if someone didn't seen NetBeans in action. After a quick NetBeans demo I get the next question: "Which plugins, extensions are you using?"
80% of my time I'm working as contractor / freelancer and I could choose whatever IDE I like to accomplish my tasks. I used Visual Age, Sun Java Workshop and Sun Java Studio, VisualCafe, was a JBuilder and Eclipse fanboy. I also tried Metrowerks CodeWarrior (mainly because of the name :-)). I also started with IntelliJ early (~2002) and have a commercial IntelliJ license. In 2001/2002 I wanted to switch from JBuilder to something new and tried NetBeans. I hated the whole IDE. NetBeans felt alien and suspect. I waited a few releases then re-evaluated NetBeans again...
- Code centric approach: I do not have to use wizard for Java EE development. I can concentrate on code and generate snippets on demand.
- IDE independence: I my early Java projects we spent a considerable amount of time to migrate projects from one IDE to another. Sometimes this task evolved to a real project. Code created with NetBeans is not dependent on NetBeans. IDE-independence is paramount in my projects: every developer should choose an IDE she likes.
- Good Maven integration: NetBeans uses Maven as primary build tool. You get exactly the same result as from command line. Either NetBeans builds something, or not. This is not always true with the other IDEs :-).
- Maven "on save" deployment: works most of the time an saves a serious amount of time.
- Don't Make Me Think usability: You don't have to remember lots of strange keybindings to accomplish basic tasks. You can achieve 80% with ctrl+space and alt+enter (quick fix). Advanced users sometimes click on ctrl+i (mac) or alt+insert (win)
- Installation is matter of download + double click. Sometimes I install NetBeans daily builds just to checkout new features.
- Productivity: Everything you need for mainstream development is integrated. The only plugin I installed in recent years was: markdown plugin. The less you have to extend your IDE, the more interoperable your project gets. I probably saved weeks of my time not having to search for plugins.
- Pragmatic new features: NetBeans engineers are constantly searching for pragmatic new features. With NetBeans you can switch between a class and a unit or integration test, create persistence.xml or beans.xml, check your JPA QL syntax with auto-completion, profile and debug your application and application server without having to install anything.
- No hassle installation (important for workshops / trainings): I'm using NetBeans in my workshops and let the attendees to install it. The installation is completed in minutes on different operating systems without any problems. In fact I cannot remember any installation problems with NetBeans so far.
- JavaDoc: Java EE APIs are already associated with JavaDoc
- Java FX support: NetBeans integrates well with Scene Builder and FXML. Also NetBeans helps you to visually debug Java FX applications by displaying the component hierarchy layout properties.
- SCM integration: GIT, Mercurial and SVN support comes out-of-the-box.
- Bug tracker integration: NetBeans comes with Bugzilla and JIRA integration out of the box.
- Bug management: in case NetBeans gets a problem it prepares a bug report for you. If you submit it, you will be noticed in a few seconds whether it is duplicate or not.
If you also converted to NetBeans, please write comment. I'm curious about your opinion.
See you at Java EE Workshops at MUC Airport -- I will of course use NetBeans. We often don't even have a time for a lunch, so who would like to waste time for plugins and installation? :-)