Over a million developers have joined DZone.
Platinum Partner

Sanity Will Be Restored to Internet Application Development on December 4, 2008

· Java Zone

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.

Yes, that's a bold statement, but I've waited 13 years to be able to say it.  If you've followed my blog or have heard me speak about JavaFX, you know that I was disappointed with the browser wars in the late 90s that fragmented and slowed down the ubiquity of the Java Virtual Machine.  Instead of writing rich-client Java applications, the last 13 years of software development has largely consisted of trying to make browsers do what they were never designed to do.  If I may speak plainly, the result has been applications that consist of a big mess of varying flavors of JavaScript, HTML, etc. that leave developers overwhelmed and users underwhelmed.

According Danny Coward of Sun, in less than ten days from now version 1.0 of the JavaFX SDK will be released.  JavaFX SDK 1.0 (with the support of Java SE 6 update 10) will make rich-client Java a reality.  It is my opinion that this release will be a tipping point in software development that will play a big part in restoring sanity to rich internet application development.

If you are wondering what practical steps you can take to leverage this seismic shift, here are a few that I would suggest:

  • If you are currently designing an internet application or remodeling an existing one:
  1. Think about how the full power of a rich client Java UI could improve the user experience. 
  2. Engage a graphics designer to create comps of this experience, reminding him/her that UI limitations imposed by the browser are history.
  3. Define an interface to the application/business logic layer.  Because JavaFX can instantiate and use Java classes, any interface that is implemented in Java can be used.  I often use a simple HTTP-based interface that uses GET parameters to pass arguments, and returns a stream of data articulated in the JSON protocol.  This approach will work well with JavaFX on all platforms (e.g. desktop and mobile phones).
  • Although Swing components are available in JavaFX, there is a strong trend in JavaFX as well as in RIAs (rich internet applications) toward graphical-node-centric UIs.  Users are beginning to expect (and deserve) iPhone-style applications, so think less about Swing and more about Java 2D capabilities.
  • Because the JavaFX SDK will be a 1.0 release, there is a good chance that you'll want to create some of your own higher level custom controls.  The JFX Custom Nodes category of this blog explains how to do this, and offers a few custom nodes that you might want to use.  Also, Stephen Chin and Keith Combs, mentioned in the You Say You Want a (RIA) Revolution? post, have said that they will create custom nodes for use in JavaFX applications to augment what is released in JavaFX SDK 1.0.
  • And, of course, join me in downloading the JavaFX SDK 1.0 release from JavaFX.com on December 4.


By the way, my first speaking engagement after this release will be at Jfokus in Stockholm, Sweden.  I'm going to do a 3.5 hour university session as well as a conference session.  If you're in the area, please do attend!

Jim Weaver

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}