From what I've read and heard, JavaOne 2012 is a hit. With success stories around Java SE 7 JavaFX on ARM, JDK 8 profiles with JavaFX bundled, demos of Java and JavaFX on Raspberry Pi and BeagleBoards, simple sized-down Java EE deployments, HTML5 enhancements for NetBeans, and a sneak peak at JDK 9, what's not to like? The keynote sessions should be available on Oracle's Video on Demand site — be sure to check them out if you weren't able to attend. First, let's dive into JavaFX (a favorite of mine these days, if you couldn't already tell)! Here is an excellent write-up of the Sunday JavaOne Technical Keynote.
JavaFX on ARM
Although Java doesn't yet run on iOS, and Android still doesn't include a real version of Java, The Internet of Things is real and Java is there. JavaFX is now there also. JavaOne 2012 has been filled with lots of talk, demos, and sessions showing Java and JavaFX on ARM devices such as RaspPi and BeagleBoards, running actual, useful applications.
In fact, a handful of the kiosks at JavaOne this year were built by Jasper Potts using Java SE Embedded, JavaFX for ARM, and ARM-based devices such as Beagles and RaspPi's with large touch-screen LCDs. Want to know how he did it? Read his "how-to" blog post here.
Work is being done to allow the JVM to better utilize graphics processing units (GPUs) and accelerated processing units (APUs) to offload work from the CPU and improve performance and scale. The focus right now is to offload HotSpot JIT compilation and garbage collection work to GPU cores, freeing the CPU to run core application code. You can hear about it in the JavaOne technical keynotes, as well read about and keep up with its progress online here.
NetBeans Project Easel
Project Easel offers total flexibility, allowing you to select the browser to debug and test your application with, along with easy round-trip editing. For instance, if you change JS or CSS code in the browser, it's instantly picked up by NetBeans, and updated so that your browser reflects those changes. The reverse is true as well: Make changes in NetBeans and those changes are automatically propagated to your browser client without needing to restart anything. You can test your HTML5 application on various browsers, screen sizes, and even device screen sizes (common smart phones and tablet screen dimensions).
As for web development and layout, if you hover the mouse over various elements in the page, the code in the IDE is highlighted, and vice-versa. Clicking on elements opens the CSS to the proper style that controls the element's visuals. It works the other way as well: Choose an element in the IDE, and the element in the browser is highlighted. CSS code completion is integrated with the HTML editor to make it easy to identify elements that use each style and instantly see the HTML update as the style is changed.
There's a screen cast posted on the NetBeans site showing all of this and how it works together while coding and debugging an actual HTML5 NetBeans project: http://netbeans.org/kb/docs/web/html5-gettingstarted-screencast.html.
JavaOne Interesting Tid-Bits
Random item of interest:
- Slides for Java SE 7 in Action
By the way, I've covered Java SE 7 in depth over the past 12 months as well:
- Java SE 7 Invokedynamic and Other Languages
- Java SE 7 Project Coin
- Java SE 7 File IO
- More on Java SE 7 File IO
- Java SE 7 Fork/Join
- Working with Java SE 7 with JavaFX 2.x and NetBeans
- JDK 8 Preview (Mark Reinhold's keynote slides on mostly on JDK 8)
I recently covered Project Lambda, and what it's like to write Java closures in a recent blog post on Dr. Dobb's here.