Last night I attended a really interesting meeting, the first Silicon Vally JavaFX Users Group. It was held at the Google campus in Mountain View.
Joshua Marinacci showed some pretty amazing things that people are doing with JavaFX, like Project MaiTai which lets you connect audio and visual building blocks (oscillators, particle generators, filters, etc.) together to create interactive displays.
Richard Bair, from Sun, showed some really cool examples of how the language works (sequences, binding, list comprehensions), how to be efficient, and why they did things the way they do. He also previewed some of the new UI controls coming in release 1.3.
I got a lot of questions answered, especially in the area of media. Like: “What’s up with JMF (Java Media Framework) it seems to be dead?” A: All the JMF developers are working on JavaFX media.
Turns out that JavaFX is not just the scripting language, it is a ground-up rewrite of the client stack including fonts, image handling, rasterization, etc.
There were a lot of startups there—it definitely had that buzzy feel like the early JavaOne conferences. A common theme on why these new ventures were interested in JavaFX was the availability of the entire Java stack right from the start. They cited, for example, the ease with which you can access web services, or do peer-to-peer networking, or anything involving security, databases, 2d/3d visualization, or math.
The Google campus is a pretty amazing place. When I left at 9:30PM the parking lot was still almost full. You can just feel the buzz. There are all kinds of exhibits/projects in the lobbies showing stuff that teams are working on, and a general level of zaniness—if you have ever been on a tour of Pixar’s facilities, think Pixar x2.
And.. I won a Sun Spot development kit! http://www.sunspotworld.com/ Man, I never win anything! Its basically a kit containing two sun-spot micro-controllers with wireless radios and several sensors: 3D accelerometer, a temperature sensor, a light sensor, eight LEDs, two switches, and I/O pins. You program these things in Java and there is a special JavaVM that runs on the board. It has both 802.11 and mesh networking built-in. Now I have to cook up some projects to build with my teenagers.
So, in the end I came away even more bullish on the JavaFX platform. The future of any technology is unpredictable, especially given the pending Oracle acquisition—but in terms of client-side Java, this is where all the attention and effort is going. They might just get client-side Java right this time.