Learning Netbeans Platform For Building Java Applications

Recently I started to build a stand-alone Java application. The first thing I thought of was to use Eclipse, which I have been using since 2000. As you may know, the Eclipse family has a framework called Eclipse RCP (Rich Client Platform) for building standalone application. In fact, Eclipse IDE is now built on top of the Eclipse RCP framework.

It’s not architected this way from day one though. The Eclipse RCP came way later after the IDE. When Eclipse IDE became popular, people started to ask why can’t the basic framework for IDE be re-used for building other applications that has nothing to do with IDEs. So the Eclipse RCP was then born. It still uses the plugin architecture for extension.

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

Overall, the Eclipse RCP is a by-product of Eclipse IDE, therefore you can still see it’s heavily influenced by the requirements of IDEs. The biggest issue there is the complexity to use the RCP. As this official wiki page says, “Right now, after one week of training, a RCP newbie just touched the very basic things of RCP. This is one reason why many big industry companies have problems adopting RCP.”

As I played with the latest Eclipse 4.2M6, the good news is that the programming model has been significantly simplified. The bad news is, however, there isn’t much documentation and samples although I found Lars Vogel’s tutorial is a great resource to start with. BTW, he also wrote many other tutorials as well. Just check them out at his web site.

After learning and trying by myself for a day with the latest Eclipse SDK, I think I can do something pretty simple but definitely not enough to get my work done. It isn’t clear things will be improved any time soon.

To be realistic, I have to think beyond and try something else. I ended up with Netbeans Platform, yet another application framework quite similar to Eclipse RCP. I have to admit it isn’t fun to rush into a different world. There are a lot of the differences in concepts and terminologies from Eclipse. They also share a lot in common as IDEs, so I can easily find things similar at Netbeans by a simple search.

Luckily, Netbeans.org has great documentations and samples. Before I only thought Microsoft is good at writing great documents helping developers. Kudos to Netbeans team!

At this moment, I have read the quick start tutorial and several videos tutorials, and run through several samples especially the feed reader sample which I ran through via debugger. So far the overall experience is pretty positive.

I think the Netbeans’ approach to develop plugins is simpler than Eclipse’s. For the Eclipse, the key concept is the extension points to which you can plug in your menu/action/… and your code. This is essentially limited view of what to extend because the focal points are individual extension points. For the Netbeans, the concept is similar but visualization is quite different. It introduces layering concept with which you can see what is new from this module in <this layer> and the combined result in <this layer in context>.

I also find the packaging of Netbeans platform based application is no simpler. With one menu click, you can package the application as ZIP distribution, NBMs (I think it’s something similar to Eclipse update site, but not yet confirmed), Installers, Mac OS X Application. This is such a pain in Eclipse RCP that you have to read through a long tutorial and could still scratch your head facing your own project.

Well, I just downloaded the samples from the book The Definitive Guide to NetBeans™ Platform 7 and time to run through it. Will continue to report my findings along the way. Stay tuned.

This entry was posted in Software Development and tagged , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.


  1. Posted April 4, 2012 at 6:00 pm | Permalink

    read about OSGI too because eclipse plugins and OSGI Bundles are the same.

    Other good eclipse project:
    – Eclipse RAP (Web version for Eclipse RCP)

  2. Raamesh Keerthi
    Posted April 6, 2012 at 2:34 am | Permalink

    I use NetBeans IDE more than Eclipse… also, we can able to develop various kinda application such as ME, EE, stand alone etc.., apart from this we can able to develop PHP, Ruby, Python etc..,
    Built in DB server tool to connect DB… Lot to say about NetBeans IDE… I’m using NetBeans from 6.1 version…

  3. Posted April 6, 2012 at 10:30 am | Permalink

    Thanks for sharing your experience Raamesh! Still a lot for me to learn ahead. :-)

2 Trackbacks

  • By Hack Workspace in Netbeans IDE | DoubleCloud.org on July 18, 2012 at 12:02 am

    […] been using that default location since using Netbeans until recently when I needed to move the default folder to a network drive for backup purpose. […]

  • By Beginning Blog on February 11, 2017 at 4:36 pm

    The Definitive Guide To Netbeans

    […] as ZIP distribution, NBMs (I think it’s something similar to Eclipse update […]

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.