Yes, that's a bold statement, but I've waited 13 years to be able to say it. If you've followed this 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:
- Think about how the full power of a rich client Java UI could improve the user experience.
- Engage a graphics designer to create comps of this experience, reminding him/her that UI limitations imposed by the browser are history.
- 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!
Regards,
Jim Weaver
JavaFXpert.com
this information has helped me much help as I am working on a project about this issue, I hope to get something more on the subject. Thank you.
Posted by: viagra online | April 22, 2010 at 10:42 AM
Regarding "typical business application":
What about a CRUD for customers and a list of customers to choose from?
Posted by: Thomas Boerkel | December 15, 2008 at 10:30 AM
"Can you provide any links to JavaFX-based applications for data entry or anything that looks like a typical business application? Animation is nice, but I'm trying to understand how JavaFX competes with Flex and Silverlight for building databound data-entry forms, tables, graphs. Thanks."
Steve,
I couldn't agree with you more, and I think that enterprise apps that have an iPhone look and feel will be a sweet spot for JavaFX. I am in the process of designing an example like this for the blog and an upcoming book. Do you have any ideas that would fit your criteria and be fun for the reader?
Thanks,
Jim Weaver
Posted by: James Weaver | December 07, 2008 at 02:04 PM
Can you provide any links to JavaFX-based applications for data entry or anything that looks like a typical business application? Animation is nice, but I'm trying to understand how JavaFX competes with Flex and Silverlight for building databound data-entry forms, tables, graphs. Thanks.
Posted by: Steve Muench | December 07, 2008 at 12:51 PM