A Comprehensive Review on JavaFX - The Latest Java Innovation
By Angsuman Chakraborty, Gaea News NetworkSaturday, December 6, 2008
JavaFX is an expressive rich client platform for creating and delivering rich Internet experiences across all the screens of your life. It offers users freedom and flexibility to create rich Internet applications (RIA) and content quickly and easily across multiple screens. That means, devices like mobile phones, desktops, televisions, and etc are included. JavaFX combines the best capabilities of the Java platform with media functionality into an one-stop development environment. Basically what it actually does is helps the creative content developers to focus on creativity instead of coding.
JavaFX was mainly branched to two core components.
1. JavaFX Script
It gives Java developers the power to quickly create content-rich application. So that means you can provide your clients with java powered content service at ease and without using much of the core coding. JavaFX script takes advantage of the Java security model so consumers can securely access assets and again it also takes help of Java components running on server-side and client side.
2. JavaFX Mobile
JavaFX mobile is a complete software system for mobile devices. It is available via OEM licenses to carriers, handset manufacturers, and other companies that want to simplify and accelerate the development of a powerful standardized software system. With it the developers and consumers get an unparalleled portability with which you can develop at one place and use 1000 miles away from there.
Key features
- One-stop shop RIA platform for all screens: You can build engaging visual experiences across desktop, browser and mobile with a unified development and deployment model.
- Broadest market reach: Distribute RIAs easily across billions of devices with the power of Java.
- Designer-developer workflow: Shorten your production cycle for design and development.
- Powerful runtime: Leverage the extreme ubiquity, power, performance and security of the Java runtime.
- Break free from the browser: Drag-and drop a JavaFX application from the browser to deploy to the desktop.
- Java technology compatibility: Preserve your investment by enabling the use of any Java library within a JavaFX application.
- Write Once, Run Anywhere: Applications written with JavaFX Script take advantage of Java technology’s established traits, such as write-once-run-anywhere portability, application security, ubiquitous distribution, and enterprise connectivity.
Components of JavaFX Technology
Let us take a quick look at the components of JavaFX technology. There are mainly two groups of bundle inside JavaFX.
- Developers Bundle
- Designers Bundle
1. Developers Bundle
- NetBeans IDE 6.5 for JavaFX 1.0
- JavaFX 1.0 Plugin for NetBeans
2. Designers Bundle
The designer bundle consists of a single download called JavaFX 1.0 Production Suite
- JavaFX 1.0 Plugin for Adobe Photoshop and JavaFX 1.0 Plugin for Adobe Illustrator
- JavaFX 1.0 Media Factory: JavaFX 1.0 Media Factory contains two separate tools:
- SVG Converter: Convert SVG graphics into JavaFX format
- Viewer: View graphic assets that were converted to JavaFX format.
But there is also a JavaFX 1.0 SDK which is stand alone and you can use it if you want to use it right from the command line or developing using your own tools.
Some example of JavaFX Technology
1. Simple Video Player
This sample uses the JavaFX Media Component, a prefabricated video player that provides all of the standard video player controls you might need.
2. 3-D Display Shelf
This sample uses the perspective transform features, built into JavaFX, to easily create a photo album with cool 3-D effects.
3. Path Animation
You can animate a shape along an arbitrary vector path.
4. Flying Saucer
This sample shows you how to create a flying saucer that will escape from the browser, fly around outside the browser a bit, and then land back in the browser. Its another cool thing.
JavaFX for coders
Let’s come to coders area now. I am sure you must be wondering what are the new classes that are added and new feature which you can use to ease you with programming. First of all, lemme tell you, unlike Java, I feel JavaFX isn’t that easy to learn deep. There are some features I will like to mention.
- SQL-like selection: Yes you heard me right. JavaFX introduces SQL like selection inside their technology which actually relieves us of many if-else and nested loops. Such as, if you wish to view anything inside the whole album, type
for (album in albums where album.stars == 5) - Number Listing: You can now create a list of numbers with any incremental value you choose with a simple command. The default incremental value is 1. So if you want to find a list, just do this
Numbers between 1 and 100:[1..100]
All odd numbers between 1 and 10:[1,3..10]
- Triggers and Binding Attributes are also refined.
[source: chaoticjava.com, javafx.com & infoworld.com]
Is JavaFX Too Little, Too Late?
That is the ultimate question every one has been asking. Angsuman Chakraborty, CEO of Taragana and a notable Java developer questioned the need for yet another language (to learn when it could have been based on Javascript or ECMAScript) and that it was too little too late at the JavaOne Conference in San Fransisco this year. JavaFX has some really cool features but we still haven’t seen any rush to adopt it that was anticipated from JavaFX thinktank at Sun.
Conclusion
JavaFX is a wicked cool technology with some out of the world demo. How much it will succeed in the real world is yet to be seen. Will it be as popular as the ubuquitous Java language or yeat another has-been technology like Jasva applets?
I will conclude with a hopeful quote from Sun Fellow & Java Architect The one and only James Gosling:
There are parts of the world where a person’s desktop computer is their cell phone, and that’s the kind of end point that we’re going to get to.
JavaFX is Sun’s step commitment towards mobile is the computer vision along with J2ME stack of technologies.
.
January 3, 2009: 3:16 am
[...] applications already. Why would every one hang on to NaCl all on a sudden? Flash, Silverlight and JavaFX are working hard to bring OpenGL acceleration and near-desktop math processing support. Though [...] |
Jakub |
December 11, 2008: 9:37 am
All of that is fine and JFX is a cool technology, nice alternative to Flex and Silverlight. The thing that concerns me the most is web integration - while flex/flash have nice preloaders and small size for boot up, for jfx it takes a while to load and ugly Java cup is displayed. You can’t simply integrate/hide applet with the content. |
mark