Java Champion / JavaOne Rockstar Adam Bien (adam-bien.com) is a self-employed consultant, lecturer, software architect, developer, and author in the enterprise Java sector. He is also the author of several books and articles on Java and Java EE technology, as well as distributed Java programming. adam has posted 59 posts at DZone. View Full User Profile

Five Features That Make NetBeans 6.8 My IDE of Choice

12.24.2009
| 21532 views |
  • submit to reddit
  1. 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.

  2. 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 :-).

  3. 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

  4. 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.

  5. 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 :-).

  6. (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...

From http://www.adam-bien.com

Published at DZone with permission of its author, adam bien.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

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

Full disclosure: I'm an IntelliJ fanboy and I actively promote the IDE to almost everyone I work with. However, he's right in that at least the pre-release IDEA 9 builds have been broken on the Mac. Not because of how they look (didn't have any issues there at all) but they weren't stable. I don't have the release version of IDEA 9 yet to see if those issues have been resolved, but even as a fanboy there's no way I'd use pre-release versions of IDEA 9 on the Mac for professional development.

Suraj Chhetry replied on Thu, 2009/12/24 - 11:29pm

Though it has some good features but it is not good as Eclipse.Code negivation is superb in Eclipse like from Interface method you can go to implimentation method by pressing CTRL + Right Mouse key.While creating new class you can mention SuperClass or Interface etc .There are a lot good features that makes Eclipse Best among good :)

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

  1. I used emacs for about 20 years on Sun OS
  2. then I got a job developing a vxworks C++ application on winXP. We were provided with:
    1. Visual Studio
    2. Netbeans
    3. Eclipse
  3. I tried them all. Since everyone else on the project used VS, I decided I had to at least learn to use it. Eclipse seemed a little too overwhelming and when I followed many of the plugins they seemed to end up in the commercial area. Something about Netbeans made it stick with me.
  4. Today, I use VS for compiling and debugging and Netbeans as my editor.
  5. Key things I like about Netbeans:
    1. Mercurial support is built in and superb. I prefer it over TortoiseHg.
    2. tabbed search result boxes. Can't say enough about how handy this is. In a glance you can see what you've previously searched for. In VS each search starts brand new.
    3. Click through Navigation (CTRL-Left Mouse Button) is the bomb. Then ALT-Left Shift Key to go back completes this easy navigation feature.
    4. CTRL-F for searching is a much nicer interface then the dialog box in VS or VS' incremental search.
    5. ability to undock an editor window
    6. I like the layout of the Class window
  6. I was really surprised I would prefer Netbeans over VS, because I hear so much positive praise for VS. I almost can't work if I sit at a machine that has only VS installed. Yeah, it has gotten that bad.

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

I cannot believe there are people who still keep saying Eclipse is a better IDE :) The only compelling feature is that auto compile but even then it is no use unless your server is pointing to the compiled bytecode and all that. Both Netbeans and Intellij are eons ahead of what Eclipse has. Even if on takes a look at the new releases of Eclipse all one will see is new features added to the Eclipse platform...and 90% of them have nothing to do with Java development! Eclipse is a bunch of plugins and there is nothing wrong with that but when the plugins you work with every day are just broken that sucks. Case in point is m2eclipse. Its just a headache! In intellij it all just works. I wish I could say the same for Netebans and maven but maybe its my lack of knowledge to make it work.

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

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.