HOME > RIO

JavaFX Rio
The Java/JavaFX Rich Internet Application Environment

Key Features:

  • Powerful Visual Designer
  • Animation, Illustration and Page Layout
  • Video, Sound and Image Effects
  • Drag & Drop Application Components
  • JDBC and POJO Data Binding
  • HTTP Form Generation and Binding
  • Navbar Generation, Page Transitions
  • Graphs, Charts, Tables and Reports
  • Full Featured Player/Document Reader
  • Extension Plugins with Internet Directory
[ Gallery ] [ Blog ]

    Java Web Start

 


Build Rich Java/JavaFX Web Pages and Applications

Rio is a powerful environment for designing Java applet pages that rival and exceed those developed in JavaScript, Flash Player and Acrobat Reader. Blend rich media, stunning graphics, application components and database/application data all in the context of a familiar page layout application to create compelling websites.

Powerful Design

The most important aspect of Rio is the RioStudio visual designer. RioStudio brings together aspects of illustration, animation, page layout, word processing, image processing, application UI building, data-binding, presentation and reporting. Rio can build any kind of document you can imagine.

All of this is done in the context of the familiar page layout application paradigm. If you've used PageMaker or MacDraw, you can effectively use RioStudio to create your next website or rich application.

Simple Deployment

Rio has simple integration from any standpoint.

RioPlayer: The RioPlayer runtime ships as a single, compact jar file - just copy to your web server and reference using the <Applet> tag, such as that found in this sample index.html:

<APPLET code="com.rio.player.RioApplet.class" codebase="http://abc.com/rio"
archive="RioPlayer.jar" width="640" height="480" >
<PARAM name="open" value="index.rio" />
</APPLET>

JavaFX Script: Using Rio's sister product, JFXBuilder (an extended version of Rio), files can auto-generate JavaFX Script source files (in the same manner that Matisse generates Java files), to take advantage of compiled performance and the JavaFX Script runtime.

Swing: Load a Rio pane into any Swing application or applet with just one line of code:

// Load a Rio Pane
RioPlayer rioPane = Rio.getRio(aSource);

// Install in window
 new JFrame().setContentPane(rioPane);

Groovy and JRuby: Since Rio is a simple, well-architected Java library, you can easily call it directly from powerful Java-compliant scripting languages.

Java Server: Rio's powerful JDBC Database and Application dataset (EJB, POJO, Collection) binding make it easy to vend your internal data, business logic and existing systems to the client with almost no work. Have a list of invoices on your server? Vend them out like this:

new RMServerBinder("Invoices", getSessionId(), getInvoices());

RioPlayer - is also RioReader?

One of the most exciting aspects of Rio is that it realizes that web pages come in many forms. There are static pages, animated pages, application pages and documents. For example, RioStudio allows you to easily set a page to be a "Document", then when it shows up in the player it is automatically configured with controls for Save, Print, Search, text selection, page selection, panning and zooming. Think of this as bringing together all the aspects of FlashPlayer and AcrobatReader in one place.

Rio Plugins

Rio has a system for plug-ins that allows others to implement and publish extensions to RioStudio, like custom shapes, components, filters, etc., to share among workgroups or the Rio community. Plugins can be easily accessed from the internet directory using the PluginPanel.

There's even a simple version that lets non-programmers turn exciting Rio creations into interactive plug-ins for reuse and publishing with just the click of a button, complete with the ability to define aspects that can be bound to external data.

Background - Applets are dead, long live Applets!

Almost ten years ago, Java promised to change the web with Applets. The terms Rich Internet Applications (RIA) and "Web 2.0" hadn't yet been invented, but that's the vision Sun was describing. As we know, this vision never came to pass. It was beset by practical problems with distribution, performance, robustness, native UI implementation, lack of graphics/media integration, developer complexity and lack of visual tools. Java retreated to the server room, where it justly deserved its success.

In the intervening years, the void has been filled, to varying degrees, with non-optimal developer solutions, such as Flex and AJAX. These solutions suffer from a lack of maturity and robustness, from the stand-point of development, source code control, debugging, testing/QA, and integration with back-end server technology (which is usually written in Java).

But much has changed. Over the years, the Java Swing toolkit has matured, performance has improved, and native UI implementations are mostly seamless. Network infrastructure has improved and hardware, in general, is much faster.

But perhaps most importantly, in the last year, Sun has identified the final remaining problems, by announcing, then shipping a beta of "Java 6 Update N". This new JRE dramatically improves browser interaction and robustness, download time and install experience. Applets now start up faster, run faster and it is theoretically impossible for them to crash or interfere with the browser.

Perhaps the only thing that has yet to change is the market perception that Java on the client is dead. We believe that will change this year. Applets are back, baby!

Previewing now - Shipping at Java One!

As you see from the launch button, Rio is available in Preview today. Rio has actually been shipping in component pieces for years (as ReportMill Studio and the Ribs UI Builder), so it's already mature, and, in fact, Rio is built exclusively with Rio. So when you're using it, you're soaking in it!

However, there is still a number of important features that we'll be working on for the first part of 2008. So the official unveiling will be at JavaOne. We hope to see you there!