Reflections on JavaOne 2012 by the NetBeans Community (Part 4)
You have to feel good when the technology you’re committed to for the next year and more... turns up frequently at JavaOne talks.
JavaOne San Francisco 2012
In San Francisco, we (Paul Anderson and I, from Anderson Software Group) presented a two-hour tutorial on integrating JavaFX into NetBeans Platform applications. The room was packed (always a good sign). We had a good mix of experience in our audience. Some of the attendees indicated having experience with the NetBeans Platform; others had some experience using JavaFX. In our presentation, we were able to show the minimal steps it talks to build a NetBeans Platform application with JavaFX content in at least one window. (The minimum number of steps is six, in case you’re curious.)
We were also able to show how to leverage JavaFX binding, animation, and the JavaFX charts API to create a pleasing, dynamic application that displays data in multiple windows. With the NetBeans Platform, we also demonstrated the out-of-the-box window features of floating, docking, maximizing, minimizing, resizing, opening, closing and dragging. Yes, JavaFX charts are cool, but how do you do all that window and framework stuff? Simple, we use the NetBeans Platform.
There are a lot of Swing programmers out there who would like to start using JavaFX in their applications. One key feature to help Swing developers use JavaFX without throwing away all of their Swing code is JavaFX integration. Yes, with the magic of Swing component JFXPanel, you can build JavaFX content and integrate it into your Swing window or frame. That is precisely how we created the JavaFX content in our NetBeans Platform application windows.
JavaOne Latin America 2012
We travelled to Brazil for the first time this year to present a one-hour version of our JavaFX/NetBeans Platform talk at JavaOne Latin America. The experience was phenomenal. Brazilian Java programmers are enthusiastic, incredibly talented, and wonderful hosts as well.
As we were in the first time slot of the day, we were worried that the legendary São Paulo traffic would reduce attendance. Not so! Sala 12 where our talk was held had standing room only. Again, we had attendees with experience with JavaFX and others had experience with the NetBeans Platform. Our talk was translated into Portuguese as we spoke and questions at the end showed people interested in this technology duo.
NetBeans Platform and JavaFX
Both NetBeans and JavaFX popped up frequently at both of these conferences. A panel on enterprise and desktop applications featured a NetBeans Platform application that provides scientific visualization of oil reserves. A second application provides visual rendering of air traffic in a NATO air defense application, which won a Duke's Choice Award.
In another talk, Adam Bien showed how to use the NetBeans IDE with JavaFX to architect an application that decouples the model and view and leverages JavaFX binding.
Since JavaFX is now bundled with the JDK, JavaFX is standard Java, allowing organizations that require strict adherence to standards (such as the U.S. government and the Brazilian government) to easily adopt JavaFX technology solutions. Michael Heinrichs of the JavaFX team further detailed how to create business applications with JavaFX. He showed how SceneBuilder facilitates the user experience design and engineering workflow. SceneBuilder, which produces FXML and CSS, an industry styling standard, lets user experience designers work easily with engineers.
Several more panels featured discussions on dynamic class reloading and plugins for the NetBeans Platform as well as advice from NetBeans Platform users, including the importance of configuring NetBeans Help and Plugin support.
In Brazil we found a healthy mix of NetBeans IDE and NetBeans Platform users as well as well-attended talks on JavaFX. We especially enjoyed entertaining demos by Simon Ritter of the $35 chip running Linux and Java, the Raspberry Pi. Simon showed how to use his brain waves to control a robot. Truly mind-bending!