JavaFX

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.

JavaFX

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.
1

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. 2

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. 3