JavaFX
JavaFX : New Paradigm in Rich Internet Applications
?Most scripting languages are
oriented at banging out Web pages. This is oriented around interfaces that
are highly animated.?
?James Gosling, [1]
?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.?
?James Gosling, [2]
It is a natural phenomenon to think about learning and adopting new technologies while there exists some well-established and popular ones, it is the scenario prevailing with the rich internet application (RIA) development landscape. There has been a constant demand for RIAs to provide interactive content applications and services that would run on a variety of clients with new features and capabilities. RIAs are basically the web applications that have the features and functionality of traditional desktop applications. They typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e., maintaining the state of the program, the data etc) back on the application server.
To simplify and speed up the
creation and deployment of high-impact content for a wide range of devices,
Sun Microsystems announced JavaFX, a family of products based on Java
technology to create Rich Internet applications (RIAs).
JavaFX: Sun?s New Product Family and Technologies
The Java revolution, which
started more than a decade ago, gains even more momentum with the arrival of
JavaFX. It is a new innovation
targeting the billions of consumer devices and computers powered by Java
technology.
JavaFX comprises a comprehensive set of runtime environments, widgets, development tools, and scripting environments. It aims to provide a consistent user experience across a wide variety of devices including desktops, (as applets and stand-alone clients) set-top boxes, mobile devices and Blu-Ray players.
Sun Microsystems, first
announced JavaFX at the JavaOne developers conference in May 2007. The JavaFX
products are intended to create Rich Internet applications (RIAs). Currently
JavaFX consists of JavaFX Script and JavaFX Mobile (an OS for mobile
devices), although further JavaFX products are planned. Sun plans to release
JavaFX Script as an open source project, but JavaFX Mobile will be a
commercial product available through an OEM license to carriers and handset
manufacturers.
Now, JavaFX is going to compete with Adobe AIR and Microsoft's Silverlight
technologies to occupy space in the current RIA market.
Emergence of
JavaFX
JavaFX began as a project by
Chris Oliver called F3 which stands for ?Form follows function?, and its
purpose was to explore making GUI programming easier in general.
F3 attempted to demonstrate that we're not exploiting the
full capabilities of the Java platform for GUI development. Taking together
the supporting tools like F3, Java platform is highly competitive with or
superior to competing GUI development platforms such as Macromedia
Flash/Flex/Open Laszlo, Adobe Apollo, Microsoft WPF/XAML, Mozilla XUL, AJAX/DHMTL.
At the 2007 JavaOne Conference,
Sun introduced two products in the JavaFX family: JavaFX Script and JavaFX
Mobile.
JavaFX:
A big picture
From smart cards to mobile
phones to enterprise applications and supercomputers, Java technology has
become one of the world's most significant and pervasive platforms. Java
technology truly is everywhere. The JavaFX family will make it easier than
ever to build and quickly deploy rich Internet applications and interactive
content on clients ranging from the browser to devices.
The JavaFX product family
leverages the Java platform's write-once-run-anywhere portability,
application security model, ubiquitous distribution and enterprise
connectivity
Today's Internet offers a world
of possibility for those who can quickly develop and deploy rich internet
applications (RIAs). But only the Java platform is pervasive enough on mobile
devices and browsers to effectively marry client- and browser-based
technologies with RIAs enabling applications to run on multiple platforms
virtually unchanged. JavaFX is Sun's new product family that addresses this
market. JavaFX Script will enable developers to more quickly and easily
develop RIAs and next-generation services that can be proliferated across
virtually any device -- from desktop browsers and mobile devices, to set-top
boxes and Blu-ray Discs -- securely and without local installation. JavaFX
Mobile software makes these type of applications a reality for the mobile
world.
I.
JavaFX Mobile
JavaFX Mobile is a complete mobile operating
and application environment built around Java and Linux open source
technologies. It is a complete, fully integrated Java software system for advanced
mobile devices designed to enable developers to author rich, high-impact
content and network-based services. Built around open and standards-based
technologies, JavaFX Mobile enables control and flexibility for the mobile
ecosystem.
Being centralized around Java technologies, JavaFX Mobile software system
provides a greater scalability and portability, speed time-to-market, and
enhances the consistency of applications and services. Additionally, it also
provides a support for Java ME applications and other standard Java APIs
which enables a broad range of new and existing Java applications.
It is like the networking in your hand. It is based on open standards. JavaFX Mobile runs on all mobile phones with Java support e.g. Nokia N800.
JavaFX Mobile, Sun's software
system for mobile devices, is available via OEM (i.e. Original equipment
manufacturers) license to carriers, handset manufacturers and others seeking
a branded relationship with consumers. Through OEM multiple companies can
simplify and accelerate the development of powerful standardized software
systems to leverage the power across a wide range of consumer devices.
Additionally, It allows content creators to create rich media content without
relying on developers, allowing the drag and drop of desktop and mobile
content, which is not possible with any other RIA.
Get Ready for
Dynamic Interactive Content on Any Device: It
is unpredictable to guess what devices or platforms the end user is using;
however with JavaFX, you don't have to worry about the things. JavaFX Mobile
uses industry standard technologies--this means that applications built with
JavaFX can run on a wide range of Java-enabled devices, and content providers
can add them to their devices quickly. JavaFX Mobile includes the latest
standards, like the Mobile Services Architecture, set of device APIs, which
allows developers to have a rich set of highly portable capabilities.
End users always look for an
exciting and dynamic content on the web and expect a better interactive
experience with web services. JavaFX helps in delivering visually compelling
applications, such as maps and mashups, video, audio, and pictures, that is
standardize across cell phones, TVs, and more.
Reduced Integration Costs with Expanded Opportunities: Implementation
of the majority of the solution in Java, including middleware and resident
applications, JavaFX Mobile reduces integration costs, improves device
software consistency, and enables device manufactures to provide new
offerings with substantially faster time-to-market.
JavaFX Mobile Architecture:
JavaFX
Mobile streamlines the environment and reduces reliance on underlying
technologies by providing a complete middleware and application stack
implemented in Java.
II. JavaFX Scripting Language
JavaFX Script is specifically designed to optimize the creative process of building rich and compelling UIs leveraging Java Swing, Java 2D and Java 3D for developers and content authors. 0
In layman style - JavaFX
lets you enjoy a consistence user experience irrespective of whatever device
you are currently online with, whether you are sitting in front of your
desktop, whiling away commuting time with
your PDAs, or relaxing at home.
JavaFX Script is a highly
productive scripting language for content developers to create rich media and
interactive content for deployment on Java environments. Since JavaFX Script
is statically typed, it has the same code structuring, reuse, and
encapsulation features that make it possible to create and maintain very
large programs using Java technology. It gives Java developers the power to
quickly create content-rich applications for the widest variety of clients,
including mobile devices, set-top boxes, desktops, even Blu-ray discs.
Content creators now have a simple way to develop content for any Java
Powered consumer device.
With
JavaFX, the start-ups, enterprises and developers are free from issues like
local installation and
performance degradation, they can now quickly develop and deploy new secure
services for a variety of clients. This is going to simplify the development
of RIAs running across a range
of platforms.
JavaFX technologies being built around open standards, offer consistency for
apps and services across different platforms.
Applications written with
JavaFX Script have WORA (write-once-run-anywhere ) features and application
security support with enterprise connectivity.
JavaFX Script is easier to understand and maintain, above all the structure of the written code closely matches the actual layout of the GUI. JavaFX Script enables rapid development of rich 2D interfaces in an easy fashion.
JavaFX Script offers an
advantage of the Java security model so that the consumers can have a secure
access to the assets (e.g., pictures, music files, word documents) on their
desktop.
The write once, run anywhere portability of Java technology has helped to make it the world's most widely deployed application platform.
Features:
- JavaFX Script is
going to work with all major IDEs, including NetBeans.
- JavaFX Script is
capable of supporting GUIs of any size or complexity
- JavaFX Script makes
it easier to use Swing, one of the best GUI development
toolkits of its kind.
- JavaFX Script uses a
declarative syntax for specifying GUI components, so a
developer's code closely matches the actual layout of the
GUI.
- Through declarative
data-binding and incremental evaluation, JavaFX Script
enables developers to easily create and configure individual
components by automatically synchronizing application data
and GUI components.
Benefits with JavaFX Script
- Increases developer
productivity
- Zero loss of
functionality across devices
- Requires less code
- Enables faster
development cycles
- Offers an intuitive
language design
Download the
JavaFX Code, Join the Community
Go to openjfx.org to join the
JavaFX community and download the JavaFX Script alpha code. Contribute to it
and participate in Sun's ongoing enhancement of the new family of Java
products