Monday Sep 30, 2013

Dafid Heffelfinger Java EE 7 Video Course

David Heffelfinger and Packt Publishing have released a video course aimed at Java developers who wish to develop Java EE applications while taking advantage of NetBeans functionality to automate repetitive tasks and to ease their software development efforts. 

Obtain the course for a mere 10 EUR here:

And here's a sneak preview, i.e., one free section of the course to give you a taste of the style and thoroughness of the course:

During JavaOne, David demoed Java EE 7, HTML5, and Websocket development with NetBeans IDE, which can be seen for free here:

Details on the above here:

Sunday Sep 29, 2013

Oracle Announces Winners of the 2013 Duke’s Choice Awards

From the Oracle press release, this is how the NetBeans Platform based winners of this year's Duke's Choice Awards are described:

  • a.i. solutions – To help facilitate and deploy the 2014 launch of National Aeronautics and Space Agency’s (NASA) Magnetospheric Multiscale mission, a.i. solutions used Java Development Kit (JDK) 7, the NetBeans Integrated Development Environment (IDE) and JavaFX to create the GEONS Ground Support System. Using Java in this project helped reduce software development time by approximately 35 percent. Learn more.

  • Neuroph – Serbia-based University of Belgrade’s Faculty of Organizational Sciences created the Neuroph project to help researchers simulate brain activities and simplified brain-like structures. Built on an all-Java framework, Neuroph can be used for problem-solving, recognition, prediction, control, modeling, and functional approximations in medicine, robotics, finance, and software. Learn more
  • OpenSim – The team at the NIH Center for Biomedical Computation (known as Simbios) and the National Center for Simulation in Rehabilitation Research (NCSRR) at Stanford University, have created OpenSim, an application for modeling the muscles, joints, and bones that make up the body and simulating how humans move. With an open source approach that includes Java technology and the NetBeans IDE, OpenSim enables researchers, therapists, students and product designers to develop, analyze, simulate and share information to find treatments—and, perhaps one day, cures—for a variety of musculoskeletal disorders and diseases. Learn more

  • Robotswim – French startup Robotswim has produced the world’s smallest, (22 centimeters in length) commercially available robot fish, Jessiko. Jessiko can be programmed to swim in groups or schools using Jesskommand, a Java-based command and control software built using NetBeans IDE modules. Learn more

The full press release:

Saturday Sep 28, 2013

Latest Java Magazine Honors Duke's Choice Award Winners (Including 4 NetBeans Platform Projects)

The September/October 2013 edition of Java Magazine ( honors this year's Duke Choice Award winners:

The NetBeans Platform projects that won a Duke's Choice Award this year:

For example, there's a very nice article on an important piece of software used widely in the medical community, OpenSim (, which is one of 4 Duke's Choice Award Winners based on the NetBeans Platform:

Read all about it after subscribing for free to the Java Magazine (

Friday Sep 27, 2013

bck2brwsr at JavaOne 2013

One project that raised quite some eyebrows at JavaOne 2013 was bck2brwsr, by Jaroslav Tulach and Toni Epple. In the words of Cay Horstmann in "JavaOne for the Impatient":

Jaroslav wrote a Java virtual machine in JavaScript. You write your code in (a rather stringent subset of) Java and compile it to a JAR. His JavaScript code unpacks and executes it. Today, you can access the DOM and write games with Canvas. Tomorrow, perhaps the sky will be the limit.

Getting started with it is quite easy in NetBeans IDE 7.4 RC 1 because Jaroslav Tulach knows that any technology, in order to succeed, needs a tooling strategy. Here is Jaroslav right before his session started, loudly urging (under the watchful eye of some clearly concerned security guards just outside the frame of the pic below) passersby to attend his bck2brwsr session:

So, to get started, go to Tools | Plugins and search for bck2brwsr, which will lead you to the "HTML/Java Project Support" plugin:

Then you'll find a new project type in the HTML5 category in the New Project wizard, named "HTML5 with Java Application Logic":

Next, take a look at the project structure and code:

Read this for details on the structure and code:

And when you deploy the application, you have a JavaFX application:

Finally, if you change the Maven profile, the application can be deployed to the browser:

There will be more in this blog in the coming weeks about bck2brwsr. In this particular entry, you've been shown how easy it is to get started with this project.

Thursday Sep 26, 2013

NetBeans Platform at JavaOne 2013

As last year, there were several discussion panels at JavaOne around the theme of "NetBeans Platform". (There were also several with/about NetBeans IDE, but that's not the point of this blog entry, here I'm talking about the Java desktop application framework otherwise known as the NetBeans Platform.)

For example, earlier in the week, there were the sessions "Practical Pros and Cons of Replacing Swing with JavaFX in Existing Applications" and "Java in Real-Time Secure Mission-Critical Applications", both consisting of about 5 developers up on stage, talking about their projects on the NetBeans Platform. There was also a "NetBeans Platform BOF" and a "NetBeans Platform and JavaFX BOF".

Developers from organizations such as Northrop and NASA were key speakers in these sessions, some of which I had never met before. So, here's a shout out especially to Sal Cardinale, Sean Phillips, Chris Heidt, and Guillaume Genty! It was great to meet you for the first time, together with a very long list of well known NetBeans Platform developers that I've grown to know and love over the years, such as Zoran, Toni, Bruce, Sven, Henry, Thomas, Paul, Gail, Tim, Eirik, Martin, and Rob.

And, of course, it's important to point out that four NetBeans Platform projects won Duke's Choice Awards this year:

In fact that's one better than last year, when three NetBeans Platform projects won (NATO, AgroSense, and UNHCR Refugee Registration software) a Duke's Choice Award, as well as being evidence, yet again, that Swing is a highly successful UI toolkit.

The week ended with a session very specifically focused on an introduction to the NetBeans Platform and it was again a very crowded stage:

Also, throughout the conference I met NetBeans Platform developers who I'd never heard of before, working on projects I never knew existed. One of these that I really like is ParaVision (PDF), an MR application for acquisition and processing of preclinical and material research by Bruker, based in Germany:

Looks like the NetBeans Platform community is extremely diverse and vibrant. That's my key takeaway of this community from JavaOne 2013.

Wednesday Sep 25, 2013

15 Lessons Learned from 15 Years of Quality Control

During JavaOne 2103, Jirka Kovalsky, NetBeans Community Manager, did an excellent presentation on quality control, together with NetCAT members Glenn Holmer and Thomas Kruse, in the light of 15 years of quality control at NetBeans IDE. Here are the slides!

Alternative locations of the above slides:

Tuesday Sep 24, 2013

YouTube: NetBeans Party 2013

A quick and noisy overview of NetBeans Party 2013, which was on Saturday, 21 September, 2013, in San Francisco!

Also present was Guillaume Genty from the Duke's Choice Award winning project RobotSwim, showing off one of his robot fish in an 'aquarium' borrowed from the bartender.

When James Gosling was introduced to Guillaume during NetBeans Day, he seemed extremely interested and intrigued by the robot fish!

Monday Sep 23, 2013

YouTube: NetCAT at NetBeans Day 2013

In this video taken during NetBeans Day 2013, Jirka Kovalsky, the NetBeans community manager, reports on the NetCAT program, which is the NetBeans Community Acceptance Testing program.

Note: Sound quality is a bit low and I recorded it with a small handheld camera, so sometimes things are a bit shaky.

Sunday Sep 22, 2013

YouTube: James Gosling at NetBeans Day 2013

James Gosling uses NetBeans IDE at least 10 hours per day. Here he shares his insights about NetBeans IDE during NetBeans Day 2013, Sunday 22 September 2013, in San Francisco. His insights include several that were a complete surprise to me, really cool stuff.

Note: Sound quality is a bit low and I recorded it with a small handheld camera, so sometimes, especially near the start, a bit shaky.

Next, go here to see another (shorter and better quality) movie of James Gosling at NetBeans Day:


His love of NetBeans IDE is not new, this is from 5 years ago:

Saturday Sep 21, 2013

YouTube: Dream Team = Genymotion, Cordova, and NetBeans IDE

In this (silent) screencast, you see the Genymotion Android emulator used from NetBeans IDE, together with Cordova, to enable HTML, JavaScript, and CSS development for mobile devices.

The point of this screencast is to show that the traditional slow turnaround of redeployment to the Android emulator can be fixed, if the combination of Genymotion, Cordova, and NetBeans IDE is used.

Official NetBeans Tools for Vaadin

During the last few days, for the first time, the Vaadin team have made a Vaadin plugin available for NetBeans IDE. It can be installed in NetBeans IDE 7.3.1 and NetBeans IDE 7.4 RC 1:

Note: Vaadin team members will be present at NetBeans Day tomorrow, while the plugin will be highlighted during NetBeans Community Tools with JRebel, Jelastic, and More [UGF10388], together with plugins for Jelastic, JRebel, Codename One, Android, and Gradle.

As starting points, three Maven-based project templates are available in the New Project dialog when you install the plugin:

If you choose Vaadin Web Application Project, as shown above, and click Next, you see the following:

When the project is created, it looks as follows:

If you deploy the application to the embedded WebKit browser or the Chrome browser with NetBeans plugin installed, you're able to interact with and do live editing on the deployed app from the IDE, as shown below.

In the New Project dialog, shown in the first screenshot above, if you choose Vaadin Add-On Project, you'll see the following:

Completing the wizard, you end up with the following applications:

Run the application and again you have interactive editing capabilities available between browser and IDE, together with the NetBeans network monitor, very handy for analyzing network traffic:

The final project template shown in the first screenshot above provides support for Vaadin's TouchKit project, which is very interesting. It lets you build cross-platform mobile user interfaces for Java applications, adding support for smartphones and tablets in days instead of months. Here's the code you get when you use that template:

Run it in your browser and you'll see the start of a mobile application.

Also, file templates are available, as shown below:

Here's the New Vaadin Widget wizard:

Looking forward to exploring these features more during the next weeks, during which I'll be blogging more about Vaadin.

Friday Sep 20, 2013

YouTube: How to Develop in Cordova & Deploy to Android

I've been experimenting a bit with Cordova development in NetBeans IDE. In this YouTube clip, I show you how to get started setting up Cordova, while here you see the creation of a new Cordova application, with deployment to an Android emulator:

However, as you see in the screencast above, the Android emulator is extremely slow. The web abounds with complaints about this, as well as information about Genymotion, the solution to the problem, since Genymotion is a really fast Android emulator.

Once you have a virtual machine set up, together with Genymotion, you're good to go. However, once you've created an APK file, i.e., an archive of an Android application, you need to use the ADB tool to deploy to Genymotion. To Simplify that, I created a small plugin, which adds an action to APK files for deploying to Genymotion. Here you see a small YouTube clip that aims to illustrate that Genymotion is really fast, I must say I was very impressed. Now the only slow part is the building of the APK file.

And here's the Action that uses the ADB tool to deploy to Genymotion.

        category = "Run",
        id = "org.nb.geny.model.Deploy2GenymotionAction"
        displayName = "Deploy to Genymotion"
        path = "Loaders/application/x-java-archive/Actions", 
        position = 1600)
public final class Deploy2GenymotionAction extends AbstractAction implements LookupListener {

    private Lookup.Result<DataObject> result;
    private DataObject context;

    public Deploy2GenymotionAction() {
        putValue(DynamicMenuContent.HIDE_WHEN_DISABLED, true);
        result = Utilities.actionsGlobalContext().lookupResult(DataObject.class);
                WeakListeners.create(LookupListener.class, this, result));
        resultChanged(new LookupEvent(result));

    public void actionPerformed(ActionEvent ev) {
        try {
        } catch (InterruptedException ex) {
        } catch (ExecutionException ex) {

    public Integer execute() throws InterruptedException, ExecutionException {
        ExternalProcessBuilder processBuilder = new ExternalProcessBuilder("/usr/bin/adb").
        ExecutionDescriptor descriptor = new ExecutionDescriptor()
        ExecutionService service = ExecutionService.newService(
                "adb installation");
        Future<Integer> task =;
        return task.get();

    public boolean isEnabled() {
        return context.getPrimaryFile().getExt().equals("apk");

    public void resultChanged(LookupEvent le) {
        Collection<? extends DataObject> p = result.allInstances();
        if (p.size() == 1) {
            context = p.iterator().next();


Thursday Sep 19, 2013

NetBeans IDE 7.4 RC 1 Brings Seamless Cordova Integration

NetBeans IDE 7.4 RC 1, released today, has a long list of features, including support for the intriguing Apache Cordova project.

I recently showed how to set up Cordova in NetBeans IDE 7.4, on Windows:

And today I succeeded with the same thing on Ubuntu:

Above you see my address in Amsterdam identified via the Cordova maps sample distributed with the IDE deployed in my Android emulator.

As always, the slew of folders and files that Cordova works with are well hidden in the Files window, while the Projects window shows only the files you're most likely to need to work with when coding:

Most of the time, you'll only have the Projects window open. When you build the application, the target (e.g., Android) build tools are used, with all generated and downloaded files only being visible in the Files window.

The main task to achieve setting up Cordova is the procedure of setting up node.js. Once that's done, the rest is not hard, but that's shown in the YouTube clip linked above. All the instructions are here. Also, read the blog entry today on this topic in the NetBeans WebClient blog.

Wednesday Sep 18, 2013

YouTube: Getting Started with the NetBeans Platform

In this screencast, a very slightly blurry video of a talk I did last year at JavaOne, which I discovered on YouTube yesterday, you get a good idea of how to get started with the NetBeans Platform, most of the main points are hit and anyone without anay background in the basic "why" and "how" should have most of their questions answered. Sit back for slightly over an hour and get ready to learn some cool things!

Related info:

YouTube: How to Develop in HTML/JS/CSS for Mobile Devices

In this (silent) screencast, you see in 5 minutes how to get started with Cordova (PhoneGap) development in NetBeans IDE:

YouTube: Getting Started with JDK 8

In this (silent) screencast, you see in about 3 minutes how to get started with JDK 8:

Here's where I downloaded JDK 8 from:

And here's a useful article on profiles:

Finally, here in the NetBeans IDE 7.4 "New & Noteworthy", you can see, as shown in the movie above, info about JDK 8 Profiles support:

Two issues have come out of the above:

Tuesday Sep 17, 2013

YouTube: Maven, Java EE 7, and PrimeFaces Mashup

In this (silent) screencast, you see in about 5 minutes how to get started with Java EE 7 and PrimeFaces in a Java web application that uses Maven as its build system:

Plus, all of the work is done in NetBeans IDE 7.4.

Two small issues have come out of the above:

Monday Sep 16, 2013

YouTube: Maven, Java EE 7, and Backbone.js Mashup

Some time ago I blogged a screenshot showing a mashup of Maven, Java EE 7, and Backbone.js (here). And now here's the (silent) movie:

Two smallish related issues:

Friday Sep 13, 2013

My JavaOne 2013

Here's my schedule for JavaOne this year. Items in bold are the ones where I have responsibility of some kind, the others are the ones I'll be at as an attendee.

Sunday, 22 September: NetBeans Day

Monday, 23 September:

  • 8.30 - 9.30: CON3477 Apples and Oranges: The Highlights of Eclipse, IntelliJ IDEA, and NetBeans IDE (Hilton - Continental Ballroom 4)
  • 11:30 - 13:30: NetBeans Booth
  • 12:30 - 14:30: TUT3869: Come Together Right Now! Extending Swing Apps with JavaFX
  • 15:00 - 16:00: CON3430:  A Year into the Life of Project Easel
  • 16:30 - 17:15: BOF3473: The NetBeans Roadmap for Cutting-Edge Tooling for Cutting-Edge Java
  • 17:30 - 18:15: BOF4162: Fifteen Lessons Learned from Fifteen Years of Quality Control
  • 20:30 - 21:15: BOF4040: NetBeans Platform BOF

Tuesday, 24 September:

  • 11:30 - 12:30: CON3530 Practical Pros and Cons of Replacing Swing with JavaFX in Existing Applications (Hilton - Plaza B)  
  • 13:00 - 14:00: CON3475 Unlocking the Java EE Platform with HTML5 (Parc 55 - Cyril Magnin I)
  • 15:30 - 17:30: NetBeans Booth
  • 17:30 - 18:15 BOF2741: NetBeans Dreamers: 10 Fun Ways to Make the Most of NetBeans
  • 18:30 - 19:15 BOF2764: Lessons Learned from Using GlassFish with NetBeans
  • 19:30 - 21:30 HOL2147 Java EE 7 Hands-on Lab

Wednesday, 25 September

  • 8:30 - 9:30: CON3656  Java in Real-Time Secure Mission-Critical Applications (Hilton - Golden Gate 6/7/8)
  • 11:30 - 13:30: NetBeans Booth
  • 16:30 - 17:30: CON4171 Hitchhiker’s Guide to the NetBeans Platform (Hilton - Continental Ballroom 6)
The rest of the time at the conference, I'll be walking around in the booth area, hanging out, etc. I'll be updating the list above as I find out about other cool sessions to attend that fit within my schedule.

Thursday Sep 12, 2013

Java Mission Control & Java VisualVM

With the release of JDK 7 Update 40, Java Mission Control 5.2 (well described by Markus Eisele here) is part of the JDK, together with Java VisualVM, which has been there since JDK 6 Update 23:

Details about that, and other new JDK features, are here:

However, an interesting thing is that, because Java Mission Control is based on Eclipse RCP, and Java VisualVM is based on the NetBeans Platform, JDK 7 Update 40 is the very first release of the JDK that contains both Eclipse RCP and the NetBeans Platform. Without those platforms being in the JDK, neither of these tools could exist.


Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« September 2013 »