JavaFX eats HTML UIs for breakfast
These are the days to be a Java UI developer! For so many years I have dreamt of Java’s return to the client side, and now – at long last – the developers at Oracle are making this dream come true.
Since the late nineties I have been developing a large number of both web based and swing based UIs, and it has always felt like a hard choice between two imperfect sets of technologies. But now – thanks to JavaFX – the days of technological compromise are over.
Swing – trusty but overweight
JavaFX – even better than the real thing
JavaFX 1.0 came off to a slow start, mainly because of the surprising decision by Sun – the Java company – to require all Java developers to use a different language than Java when developing the UI, JavaFX Script. I think, Oracle’s most brave and insightful decision after the acquisition of Sun, was to take all the promising, cool features of JavaFX and unleash them in Java with JavaFX 2.0. Gone is JavaFX Script, and now everything Java is also JavaFX and vise-versa. Every single line of code you write can be reused – in all layers of your application. Just imagine the productivity increase your company will harvest from that!
And feature-wise the days of hard compromises are over. Now your compiled, type checked, automatically unit tested, truly object oriented, highly reusable, component-oriented program is fully capable of rendering real-time, ultra-smooth, CSS styled, vector based 2D and 3D animated contents mixed with video, sound, and (to top it off) HTML contents. – That’s right... all the things you could do in a web client with HTML, you can now do with just a single component in JavaFX (the WebView). And there are hundreds of other rich components in the feature set – if you can conceive it, JavaFX can deliver it.
My company, ROCK IT, is developing an innovative security product for the private sector, and being an Oracle Java partner, I have been using JavaFX since the early access version was released in January. It really is a completely new UI paradigm and it takes a bit of getting used to, but it is refreshingly innovative and powerful. It truly feels like taking Flash, Swing, and the traditional web technologies, and merging everything into a single, clean, well thought out technology, that matches the needs of the UI layer with perfection.
I am absolutely convinced the developers at Oracle have hit bull’s eye with this technology, and now – at long last – Java lets us creative developers deliver the powerful, rich user interface experience customers want.
If you still have not tried JavaFX, I warmly recommend you get started. The main starting point is http://javafx.com. The JavaFX community forum at http://forums.oracle.com is a great help, and also Jonathan Giles’ blog at http://fxexperience.com/ is a great source of inspiration.