JavaFX at JavaOne 2008: Technical Sessions, Labs, and BOFs

Tuesday, May 06 2008

TS-5152: Overview of the JavaFX™ Script Programming Language

Christopher Oliver, Sun Microsystems, Inc.

Time & Venue: 10:50 - 11:50 Moscone Center - Gateway 104

Track: Tools And Languages

This session presents an overview for both designers and developers of the JavaFX™ technology and its future direction. Plan on attending this session to hear how the JavaFX language, a highly productive, declarative, scripting language empowers the creation of Rich Internet Applications (RIA) across multiple screens.

TS-6271: Java™ Platform, Standard Edition: A Youthful Maturity

Danny Coward, Sun Microsystems, Inc.

Time & Venue: 10:50 - 11:50 Moscone Center - Gateway 102/103

Track: Java Platform, Standard Edition (Java SE)

You already know that the Java™ Platform, Standard Edition (Java SE platform) is a vibrant, popular platform for desktop development; the foundation and underpinning of the Java™ Platform, Enterprise Edition (Java EE platform); and the sculptor’s block from which the Java™ Platform, Micro Edition (Java ME platform) was carved.
In this session, you will get a broad view of the most important technical initiatives that are evolving on the Java SE platform: From new work to streamline desktop deployment to work ongoing to simplify the Swing application model. From revitalizing new communities of developers with JavaFX™ technology to new modes of support for dynamic languages. Through updates to the Java programming language itself and new systems of modularizing application code. And even for modularizing the platform itself.
You will leave this session completely up to date with the major new trends and directions for the Java SE platform.

TS-4794: A JavaFX™ Script Programming Language Tutorial

James Weaver, LAT

Time & Venue: 12:10 - 13:10 Moscone Center - Esplanade 305

Track: Rich Media and Content

This purpose of this session is to lead the attendees in a tutorial that will help them gain an in-depth understanding of the concepts, syntax, and capabilities of the JavaFX™ Script programming language (both interpreted and compiled). Some of the content is based on the speaker’s book “JavaFX Script: Dynamic Java Scripting for Rich Internet/Client-Side Applications”, which will continue to be updated as the JavaFX Script programming language evolves. Topics covered in this session include the following:
* An introduction to JavaFX technology, including the product family (JavaFX Script and JavaFX Mobile technology and J6UN)
* Features, advantages, and current status of the JavaFX Script programming language
* JavaFX Script integrated development environment choices
* JavaFX Script code examples and demonstrations that progressively build on each other to teach JavaFX Script programming language concepts such as syntax, keywords, operators, sequences, classes, widget and 2-D graphical libraries, binding to a model, and application architecture.

TS-5138: The JavaFX™ Platform: Sexy Interfaces For Mere Mortals

Joshua Smith, Aerospace & Defense

Time & Venue: 12:10- 13:10 Moscone Center - Esplanade 302

Track: Tools And Languages

JavaFX™ Script is a compiled, declarative scripting language that runs on the desktop, in the web browser and on mobile devices. It's tightly couple with Java™ technology for core application functionality, heavy lifting and libraries. It makes special effects and GUI transitions accessible to people who aren't graphic artists or know the intricacies of overriding Swing painters and working with the Java 2D™ API affine transformations. JavaFX Script is a perfect user-interface compliment for Java applications.
In the first half of this session we'll look at some powerful language idioms that make special effects, interface transitions and vector graphics accessible to programmers who have not chosen to specialize in advanced Swing and Java 2D. The bind keyword connects model and view and handles two-way propagation of changes. Sequences are a data structure similar to arrays, but allow for things like "all numbers between 1 and 100 that are divisible by 3". Key-Frame animation is used to "animate" the value of variables over time. A very dynamic user interface is possible when you bind things like position, opacity and radius to these values. Triggers allow functionality that is similar to property change listeners. Transform and morphing features make movement, scaling and shape changes possible in one or two lines of code.
In the second half and largest part of the session will be spent looking at visually rich examples of what is possible in Java FX Script. We'll look at examples of image transitions, fade-ins, fade-outs, morphing and dynamic insertion of widgets into Swing layouts. Full source code of all examples will be provided. Come expecting to see lots of code. The techniques demonstrated will be directly applicable to both consumer and business applications.
No prior knowledge of JavaFX Script is required. It is expected that the attendee will have a working knowledge of Java as there will be many comparisons made between how things are done in Java vs. how they are done in JavaFX Script. Basic knowledge of Swing is helpful, but by no means necessary.

TS-5811: Bringing Designers and Developers Together with JavaFX™ Script Programming Language

Pavel Benes, Sun Microsystems, Inc.; Martin Brehovsky, Sun Microsystems, Inc.

Time & Venue: 12:10 - 13:10 Moscone Center - Hall E 133

Track: Rich Media and Content

Developing UIs for the Java™ platform has typically meant using using Swing or AWT components, which do not provide enough flexibility, or creating a custom Swing component using Java2D, which is flexible but very laborious and difficult. With the introduction of JavaFX™ Script Programming Language the landscape has changed - now applications with rich, animated and interactive UI can be easily developed using appropriate tools.

JavaFX™ Script Programming Language also brings a new style of application development to the Java platform. The graphic artist can focus on creating assets for the application, while the application programmer can focus on creating business logic without spending hours on tweaking low-level graphics UI. The application development workflow has also changed - as a developer and a designer work in parallel on their respective pieces, they need to iteratively integrate the graphics and the code together.

This session discusses the workflow of the rich graphics JavaFX™ Script Programming Language application development, focusing on delivering graphics and other assets from professional graphics tools and binding those assets with business logic written in JavaFX™ Script Programming Language. We also demonstrate how this approach allows delivering additional skins for the application. Multiple examples and demos are shown during the session, including the tools used for such a collaboration.

TS-6290: Applets Reloaded: Introducing the Next-Generation Java™ Plug-in Technology

Sven Gothel, Sun Microsystems, Inc.; Kenneth Russell, Sun Microsystems, Inc.

Time & Venue: 12:10- 13:10 Moscone Center - Hall E 135

Track: Desktop

In the “6uN” update of Java™ Platform, Standard Edition 6 (Java SE 6), Sun is introducing a new implementation of the Java Plug-In technology, which provides support for applets in the web browser. This “next generation” Java Plug-In technology combines the best architectural features of the Java Plug-In and Java Web Start technologies and provides a robust new platform for deployment of Java and JavaFX™ technology-based content in the web browser.
The next-generation plug-in offers powerful new features for deploying advanced consumer-oriented content, such as the ability to increase the heap size and specify command-line arguments on a per-applet basis. It includes new features for enterprises, such as the ability to select a particular version of the Java Runtime Environment (JRE™) software for an individual applet. It provides improved reliability and better and more portable integration between the Java and JavaScript™ programming languages.
Built-in support for the Java Network Launching Protocol (JNLP) enables applets to immediately reuse extensions originally designed for Java Web Start technology applications such as the components of the JavaFX technology, support for hardware-accelerated 3-D graphics, video playback, spatialized audio, and more.
This session covers all aspects of the next-generation Java Plug-In technology, from compatibility with existing applet content to deploying advanced content that takes advantage of new features.

TS-6610: Inside The JavaFX™ Script Technology-Based Runtime APIs: Scene Graph & WebKit

Igor Kushnirskiy, Sun Microsystems, Inc.; Hans Muller, Sun Microsystems, Inc.

Time & Venue: 15:20- 16:20 Moscone Center - Hall E 135

Track: Desktop

JavaFX™ Script technology depends on a new set of Java™ technology-based APIs for animation, graphics, media, and HTML rendering. These new APIs are interesting in their own right. They add significant new capabilities for developers, and they can be used from within the JavaFX Script software and from ordinary desktop Java™ technology-based applications. This presentation provides an overview of all the new APIs, along with usage examples on the JavaFX Script and Java platforms.

TS-7372: Case Studies from the JavaFX™ Technology World

Jeff Martin, ReportMill Software, Inc.; Raghavan Srinivas, Sun Microsystems, Inc.; Jo Voordeckers, Dolmen/JCS

Time & Venue: 15:20- 16:20 Moscone Center - Esplanade 305

Track: Rich Media and Content

Attend this session to hear quick hitting case studies from the leading edge implementers on two different projects. The following case studies will be presented.
If you're not buying that JavaFX™ software can become a major player in this RIA Rich Media WOW-game then this is the session for you. JavaFX technology can help you create rich GUIs, it plays well with imaging, audio, video, streaming media, even up to 3D animated stuff. This case study will get down to the dirty details on how to integrate JavaFX with streaming video using the presumed dead Java Media Framework. Using native codecs to play Flash video (among others) on all major platforms (Win/Mac/Lin) and animate this all together into one hell of a User eXperience Orgasm showcase: Parleys.com
The next case study will demonstrate building a JavaFX technology-based website visually, complete with animation, illustration, layout, image effects, form design, video integration, and database binding. Watch as we design pages in minutes visually, that would take hours or days to code by hand.

TS-6609: Using JavaFX™ Script To Build Swing Applications

Amy Fowler, Sun Microsystems, Inc.; Shannon Hickey, Sun Microsystems, Inc.

Time & Venue: 16:40 - 17:40 Moscone Center - Hall E 135

Track: Desktop

The JavaFX™ Script programming language was designed to simplify writing Swing applications. This is a presentation for Swing developers who want a fast, comprehensive introduction to building desktop applications with the JavaFX Script programming language. In a series of examples, the session covers everything from mixing declarative graphics and custom components to using the language's support for animation and binding.

TS-6127: Build Your Own Multitouch Interface with Java™ and JavaFX™ Technology

Angela Caicedo, Sun Microsystems, Inc.; Simon Ritter, Sun Microsystems, Inc.

Time & Venue: 18:00 - 19:00 Moscone Center - Esplanade 302

Track: Cool Rich Media and Content; Cool Stuff; Rich Media and Content

Multitouch screens represent a fundamental change in the way we interact with digital content, moving away from the traditional external mouse for screen interaction. Unlike standard touch-sensitive screens, a multitouch screen can detect numerous simultaneous touchpoints and even interpret the pressure being exerted at a given point.

This session looks at how it is possible to build this type of interface cheaply by use of a range of off-the-shelf components. It shows how a variety of Java™ technologies and APIs can be used to process the information from the screen and generate accurate positional data at high frequencies, sufficient to create sophisticated and entertaining user interfaces.

The last part of the session shows how these new types of user interaction events can be quickly and easily integrated into sample applications written in the JavaFX™ programming language. The presentation includes numerous demonstrations.

BOF-5936: Meet the Java 2D™ API Graphics and Java Advanced Imaging Team

Jim Graham, Sun Microsystems; Phil Race, Sun Microsystems, Inc.

Time & Venue: 20:30 - 21:20 Moscone Center - Hall E 135

Track: Desktop

The Java 2D™ API graphics team will be available to present information and answer your questions about the latest developments in Java technology-based graphics for the Java™ platform, including the new Direct3D accelerated Java 2D API on the Windows platform, new effects through JavaFX™ technology-based APIs. This will also be your opportunity to quiz them on the APIs, which include printing, image I/O, and the Java Advanced Imaging (JAI) API. This will be a very interactive session, so come armed with your questions or just learn by listening to the experiences of others.

BOF-5965: 3-D Graphics APIs for the Java™ and JavaFX™ Platforms

Kevin Rushforth, Sun Microsystems, Inc.; Chien Yang, Sun Microsystems Inc

Time & Venue: 20:30 - 21:20 Moscone Center - Esplanade 305

Track: Rich Media and Content

In this session, you learn all about the exciting new developments in 3-D graphics for the Java™ and JavaFX™ platforms. The JavaFX platform allows rapid development and easy deployment of rich web-based applications using media, 2-D graphics, and 3-D graphics. The session also presents the various 3-D graphics APIs for the Java and JavaFX platforms, including the Java 3D™ API and Java Binding for the OpenGL® API.

The session includes a short presentation that provides a status update on each project, including a discussion of future efforts. It includes plenty of time for questions from and discussion with the audience.