Five Features That Make NetBeans 6.8 My IDE of Choice
Out-of-the-box experience: with a single download, you get not only the IDE with all useful plugins, but also an application server (Glassfish v3) and an integrated database (Derby DB). The whole procedure takes few minutes and is dead simple. The only thing what can go wrong is installing the application server (Glassfish) to a directory, which contains spaces in its name on Windows. The Java package (is actually Java EE) is 146 MB for Mac OSX, but the feature list is impressive: profiler, debugger, SQL / DB explorer, JSF 2.0 editor with (CDI / EJB 3 databinding) auto-completion, sub second incremental deployment (=deploy on save), maven, ANT, JIRA, SVN, mercurial support, HTML editor, nice Swing WYSIWYG editor, JSR-311 (REST), JSR-181 (SOAP) support. I used the "Java" package also in many workshops - the attendees were able to install the whole infrastructure in few minutes. If it took significantly longer - it was always the fault of the virus scanner.
Responsiveness / Performance: NetBeans 6.8 performance gets better and better with every release. NetBeans even monitors itself in the pre-releases and encourages you to report any "slowness". I'm actually using two bundles/installations for my daily work: Java FX and Java (EE). I tried the Java SE bundle with the size of 45 MB once, but didn't encounter any performance difference to the Java EE bundle. The only reason for having this two installations is the independent lifecycle. I'm often working with daily builds. Why? Because they are stable and the installation is very simple... You can just redeploy e.g. a Session Bean in few milliseconds, just by saving it. I'm also using Eclipse, where my clients are forcing me to do so. The max number of different Eclipse installations was 35. The irony here: Eclipse wasn't able to handle the different plugins (e.g. try to install myeclipse, then something else) in different versions at the same time. But exactly this should be solved by OSGi :-).
It Is Primarily An IDE: although NetBeans is built on top of a RCP platform - it is primarily an IDE. The plugins are seamlessly integrated and work fine together. The reason: the plugins are developed by one benevolent dictator. The modularization is not the goal, the real goal is the developer experience. The IDE feels and looks simple. The menu structure, inline - wizards work well together. The best of all: you can get entirely rid off wizards and achieve everything in the editor. It is enough to know the following shortcuts to develop a simple Java EE 6 application: ctrl+space, ctrl+i (alt+insert on windows), and alt+enter. The documentation is also superb. You will not only find several tutorials for a given topic, but even some screencasts.
Cutting edge / innovation: Java EE 6, Wicket, Maven, Java 5, various application servers were supported from the beginning. E.g. NetBeans 6.8 supported JSF 2.0 before its release. Not everything made into more than one release, but was a nice inspiration. Project Jackpot (AST transformations - interesting for automatic API alignments), Meta Data Repository (MDR) - was one of the first MOF implementations. MDR was capable to perform model to model transformations and code generation. Both subprojects died. If you really need a decent MDSD environment - look at EMF in eclipse land or JetBrains MPS. Here eclipse still shines. JSF Visual Web Pack was one of the first (the first?) WYSIWYG editor for JSF. It was killed by JSF 2.0 and facelets in particular.
Standards / Compatibility / Pragmatism: NetBeans relies on (JCP) standards and uses natively ANT (JDK) or Maven for the code compilation. Although NetBeans compiler is also incremental - at the end everything gets compiled by standard JDK-compiler. I had some trouble with eclipse compiler in the past - it (mistakenly) compiled everything - also wrong generics code - CI (hudson and cruise control) complained later. We spent several hours / few days to find and fix the problem. I never had similar problems with NetBeans. NetBeans runs on plain JDK, is Swing based with very good Swing / Java FX support. Swing WYSIWYG editor comes out-of-the-box - there are not additional plugins needed. If you are running JDK 1.6 - you have already VisualVM installed. VisualVM is actually the (RCP) core of NetBeans with its profiler. NetBeans also supports a two way Eclipse import / export - what is often used in projects, were developers are forced to use Eclipse :-).
(Look and Feel): NetBeans looks very nice on Mac OS X. I'm using NetBeans intensively since the version 5.5 - so before it actually looked as good as it looks today. It isn't the main reason, why I'm using it. However it looks and feels better than Eclipse on Mac OS X - and far better than IntelliJ. In fact I used the IntelliJ 9 opensource builds and thought they were actually broken. To be clear: IntelliJ is still superb in respect to Java EE 6 features (like ejb-jar.xml support, better JPA QL etc.). NetBeans designers try to improve little things like icons, splash screens, look and feels continually. Because NetBeans is based on Swing, you can use as many L&Fs as you like (see some screenshots here).
It is not only my perception - NetBeans is gaining significant momentum (at least in Germany) - see this results of this quickvote (only 5% behind eclipse and far ahead IntelliJ). NetBeans is like Mac or openBSD...
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





Comments
Michael Parmeley replied on Thu, 2009/12/24 - 10:08am
IntelliJ looks just fine on a Mac. Seems the same on a Mac to me as Windows and Linux.
What specifically don't you like about the look of IntelliJ on a Mac?
Marc Stock replied on Thu, 2009/12/24 - 7:37pm
in response to:
Michael Parmeley
Suraj Chhetry replied on Thu, 2009/12/24 - 11:29pm
Daniel Neugebauer replied on Fri, 2009/12/25 - 8:20am
in response to:
Suraj Chhetry
In NB it's Ctrl + left click (Mac: Meta + left) or alternatively you can select Navigate/Go to declaration in the context menu. I switched to NB 6.7 beta because Eclipse was getting more and more terrible and finally completely refused to work on many Macs in May (it worked with Linux but was very slow; Maven and SVN were the critical plugins that randomly crashed or just didn't work as intended on Macs). I didn't miss anything in NB, it's just at slightly different places/shortcuts (but there's also an Eclipse keymap available at Tools/Options/Keymaps which I just don't use). Although I used that class wizard's class browser on creation in Eclipse I never missed it in NB. I guess it's because I usually added more interfaces etc. at a later time without the wizard. Typing "extends" behind your classname and simply hitting Ctrl+Space feels faster with NB anyway. Eclipse always took some time to display that auto completion window (and most times refused to show it starting with Ganymede).
Gregory Strockbine replied on Fri, 2009/12/25 - 3:18pm
Mark Unknown replied on Sat, 2009/12/26 - 3:14pm
in response to:
Gregory Strockbine
I have VS.Net and Eclipse both open now, as I am converting a C# app to Java. I am not going to comment on Netbeans vs Eclipse but Eclipse is much better (over all) than VS.Net. So if you believe NB is better than Eclipse, just think how much better NB is than VS.Net.
Surya De replied on Mon, 2009/12/28 - 11:11am
in response to:
Suraj Chhetry
Jeff Schwartz replied on Tue, 2010/01/05 - 3:21pm
Netbeans is a superb ide but it isn't perfect... yet :)
Its groovy/grails support needs strengthening. Groovy/Grails code completion is abysmally slow. Dynamic languages such as Groovy pose a challenge to all integrated developement environments that implement code completion but InitelliJ figured out a way to do it and Idea's performance is quite remarkable in this regard. Yet, I still use Netbeans for Grails because what Netbeans does provide is superior to anything else out there.
Netbeans is by far the best Wicket ide around and it will be getting even better according to what Geertjan has anounced. I can't wait. But even here, Netbeans could use improvement though now I realize it isn't due to the Wicket plugin but rather, core modular issues.
As an example, the delete option in the context menu for any non .java file doesn't provide the 'safely remove' option. That is something that Netbeans needs to address. Additionally, deploy on save doesn't work for those situations where non java files are modified and saved. As wicket prefers java and resources to reside side by side in packages this is quite problematic becuase even a simple change to a .css or .js file will require that you redploy the whole application. This, too, needs to be addressed.
And there is the issue of memory consumption on Windows, specifically Vista as it is my primary platform unfortunately.
Ok, I will now really be nitpicking but I sort of like the way IntelliJ Idea alters its perspective depending on what task or project type you are currently working on. I wish that Netbean could do the same becaus sometimes I get developer overload and I would like to have a way to narrow the focus to only those items that are central to the current task at hand.
But ask me if I'd trade in my copies of Netbeans for any other IDE, open source or commercial, and I'd answer no way!
Jeff Schwartz @ http://jeff-schwartz.blogspot.com/
Matt Coleman replied on Thu, 2012/05/24 - 1:28am
great features...i congratulate y'all website design buffalo
Mateo Gomez replied on Fri, 2012/05/25 - 1:06am
in response to:
Michael Parmeley
i agree..i am a MAC guy too
mexican bread