Thursday, October 4, 2012

JavaOne 2012: Getting Started with the NetBeans Platform

I stayed in the Hilton (Continental Ballroom 7/8/9) to see Geertjan Wielenga's (Oracle Development Tools Principal Project Manager) presentation "Getting Started with the NetBeans Platform." Geertjan's bio on his blog summarizes his involvement with NetBeans:

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.

Wielenga began his presentation by talking about how desktop-based graphical tools are underrepresented at conferences and pointed out that it's unlikely that flight controller software will be run out of a browser anytime soon. With this as a backdrop, Wielenga proceeded to write a desktop application on the fly using the NetBeans Platform (NetBeans 7.2).

Wielenga demonstrated building a new application from existing NetBeans constructs. He stated something that I wasn't aware of: there's not necessarily any requirement to use NetBeans IDE if using NetBeans Platform. He said the one connection is that you might think of the NetBeans IDE as the "reference implementation" of the NetBeans Platform.

There are "six quite small" JARs that are the minimum JARs needed for the modular-oriented NetBeans Platform.

Wielenga introduced the NetBeans Platform Showcase. He pointed out that one can get ideas for what can be done with the NetBeans Platform by looking at these examples and that many of them are even open source.

Wielenga talked about the NetBeans Platform supporting annotations so that Java developers can reduce their exposure to XML. The NetBeans Platform has an annotations processor that processes the in-code annotations and generates the appropriate XML.

One of the significant differences between NetBeans Platform and the Eclipse Rich Client Platform mentioned in this presentation is the NetBeans Platform's use of Swing (and JavaFX) versus Eclipse Rich Client Platform's use of SWT. An interesting observation made at JavaOne 2012 is the availability of eFX (NetBeans Platform meets JavaFX). JavaFX 2 allows for integration of JavaFX with Swing. This allows for an evolutionary path.

In a "slight diversion" (but one I thought was interesting), Wielenga mentioned that JDeveloper's best features can be more readily evolved into NetBeans. In this case, he used the specific example of JDeveloper's XML support. Earlier this week, the idea of using JDeveloper's UML support in NetBeans was mentioned.

An advantage of using the NetBeans Platform is that a decade's worth of lessons learned from practical experience building graphical user interfaces are incorporated into NetBeans Platform. Wielenga talked about the NetBeans Plugins Portal. An advantage of this is the ability to use pieces of software that have already been written and tested without needing to roll it out on one's own.

"The worst thing about Java Help" is the challenge of setting up the necessary XML content. NetBeans provides a wizard that handles this and makes it easy to generate an HTML representation of the help system.

Wielenga talked about one of the benefits of NetBeans Platform being that because it underlies NetBeans IDE, testing toolkits built for NetBeans IDE can often be applied to the applications based on the NetBeans Platform.

As a side note, NetBeans 7.3 is now available for download in beta form.

No comments: