Java One 2009 – Day 3
Posted on 07. Jun, 2009 by todd in Java
The New World: JavaFX™ Technology-Based UI Controls
Just prior to Java One the Java/FX team released version 1.2 which includes some of the basic UI components that applications use. (Buttons, textfields, radio buttons, sliders etc.) This session went over the list of implemented components and introduced project Caspian which is the intial look and feel/theme/skin that these components can use out of the box. The session also went into a bit of detail of how some of the new layout managers are implemented. It’s still very early days and the team knows full well that the components they released just before Java One is not a comprehensive list (there is no table, combo boxes etc) and the layout managers implemented are pretty simplistic. There is so much work to do to round this implementation out it’s not funny but there appears to be a huge engineering effort behind this implementation so I echo that I’m cautiously optimistic about this. Sun appears to have their A-Team working on all aspects of this implementation including the designer tool which was previewed this week as well.
Breathe in JavaFX™ Technology
Of all the years I’ve been to Java One, I’ve never taken advantage of any of the Hands-on-Labs. To be honest in previous years there really hasn’t been that much that interested me. I decided this year to change that and sit through a Java/FX one. I figured 90 minutes of going through a tutorial would be a good use of time and if nothing else would give me a bit of expsoure to the language and implementation that up until this point has been mostly theoretical. This was a Bring your own laptop tutorial which required the installation of the latest NetBeans IDE preconfigured with version 1.1.1 of Java/FX. The presenter introduced the three different tutorials that were included, stepped folks through the first few steps and then let folks proceed at their own pace. There were a number of helpers available if participants needed a hand or couldn’t get something working.
The first tutorial was a photo viewer application that displayed a number of photos with buttons to navigate forwards and backwards through the photos. We added various kinds of transitions using Timelines with KeyFrames. The tutorial was really well done but like most tutorials the reasons why a particular implementation was chosen was not explained. It does provide a good set of examples though to dig further into. The NetBeans implementation of drag and drop coding with the Java/FX elements was interesting to see. Code completion needs a bit of work still and as I’ve mentioned I’m not a heavy NetBeans user so some of time was spent just trying to figure out how to do common things in the IDE.
I have the content from the tutorials so it will be something I have a look at in the coming weeks/months to continue getting some exposure to this fast moving addition to the Java platform.
Flamingo: Bringing the Ribbon Component to Swing
Of all the sessions I attended, I think I was most surprised by this one. Don’t get me wrong there was a ton of great content in a lot of the sessions but I guess for this one I didn’t really have any sort of expectations going into it and came away with a sense of ok, here is something I really need to look at.
The Ribbon Component was introduced by Microsoft in the latest version of Office after conducting a huge amount of User Interaction studies. It’s quite a huge change for Microsoft and there have been some negative reactions from users but they believe that this metaphor makes learning and using their products much easier. Kirill Grouchnikov, who is probably most known for his fabulous work with the Substance Look and Feel has been implementing a Swing incarnation of the Ribbon Component. He spent quite bit of time talking about the various elements of the ribbon component (tasks, bands, application menu button, taskbar panel etc.) and how they work together to convey meaning and more important context to the user as they are using the application. He pointed out a blog by Jensen Harris at Microsoft that details the evolution of their implementation. I haven’t had a chance to look at it yet but it sounded very interesting.
Additionally he showed an implementation of KeyTips which, when invoked, show shortcut keys to the components in the Ribbon control. It’s really well done and something that has been missing from the Desktop world for a while.
This one has the potential of changing our UI implementation substantially. It of course needs some careful thought and consideration but I like it and if we can perhaps add it as an adjunct to our current UI implementation that might be the best path forward.
This Is Not Your Father’s Von Neumann Machine; How Modern Architecture Impacts Your Java™ Apps
This session was done by was Cliff Click and Brian Goetz key guys in implementing the JVM. They spoke at break neck speed about the evolution of CPU and Memory architectures over the years and how developers need to be aware of how hardware implementation may impact their code from a performance and reliability point of view. A lot of the content was really only applicable if you’re writing your own compiler/VM but it’s still good to have an idea what is going on under the hood as it were. There was a reference to a paper that sounds interesting called What every programmer should know about memory.
JideFX: Bringing Desktop Richness to the Internet
David Qiao the CTO for JideSoft presented a few ideas about how they hope to bring their excellent set of Jide components to the JavaFX world. He didn’t really have much to show aside from a couple of examples that are very much works in progress. I’m sure it’s hard for component writers at the moment given the pace of development and missing bits with the Java/FX platform but in all honesty I don’t know why he presented anything. It’s much too early.
The Groovy and Grails BOF: With Live Grails Podcast Recording!
Sven Haiges and Glen Smith of the Grails Podcast hosted a panel with Scott Davis, Dierk König, Andres Almiray, James Williams and Danno Ferrin. They took questions from Sven and Glen as well as from the audience. It was very entertaining well worth a listen. I discovered Spock which is a fairly new unit testing framework that sounds very interesting and bears some closer investigation.
