JavaFX: Developing Rich Internet Applications (Java Series) and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
More Buying Choices
Have one to sell? Sell yours here
Start reading JavaFX: Developing Rich Internet Applications (Java Series) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

JavaFX: Developing Rich Internet Applications [Paperback]

Jim Clarke , Jim Connors , Eric J. Bruno
4.2 out of 5 stars  See all reviews (4 customer reviews)

List Price: $39.99
Price: $27.99 & FREE Shipping. Details
You Save: $12.00 (30%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Tuesday, May 28? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $17.27  
Paperback $27.99  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

June 11, 2009 013701287X 978-0137012879 1

Build Rich Applications that Run on the Desktop, the Web, Mobile Devices...Anywhere!

 

Using JavaFX, developers and graphic designers can work together to build robust, immersive applications and deploy them anywhere: on the desktop, on the Web, and on millions of Java-enabled mobile devices. JavaFX lets you maintain your existing graphics and seamlessly integrate them into Java applications. Plus, JavaFX Script is a declarative language that allows you to preserve your investment in the Java platform while allowing more creativity with JavaFX’s Rich Internet Application environment.

 

JavaFX™: Developing Rich Internet Applications brings together all the knowledge, techniques, and reusable code you need to quickly deliver production-quality solutions. Writing for both developers and designers, the authors explain how JavaFX simplifies and improves the RIA development process, and they show how to make the most of its ready-built components and frameworks.

 

JavaFX™ covers everything from data integration to multimedia, special effects to REST. The authors present a full chapter of code recipes and a complete case study application. This book’s wide-ranging content includes

 

  • Building and running JavaFX programs
  • Understanding the role of graphics designers in creating JavaFX Graphical Assets
  • Writing fast, efficient JavaFX Script programs
  • Using data binding to simplify Model-View-Controller application design
  • Creating rich user experiences with JavaFX visual components
  • Bringing user interfaces to life with lighting, reflection, and other special effects
  • Adding motion with the JavaFX animation framework
  • Incorporating pictures, sound, and videos in your applications
  • Creating RESTful applications with JSON and XML
  • Writing JavaFX applications that make the most of the underlying Java platform

 

The Java™ Series is supported, endorsed, and authored by the creators of the Java technology at Sun Microsystems, Inc. It is the official place to go for complete, expert, and definitive information on Java technology. The books in this Series provide the inside information you need to build effective, robust, and portable applications and applets. The Series is an indispensable resource for anyone targeting the Java platform.


Frequently Bought Together

JavaFX: Developing Rich Internet Applications + Pro JavaFX™ Platform: Script, Desktop and Mobile RIA with Java™ Technology (Expert's Voice in Java Technology)
Price for both: $37.62

Buy the selected items together


Editorial Reviews

About the Author

Jim Clarke, principal technologist with Sun Microsystems, has spent twelve years developing with the Java platform. He has worked with JavaFX for more than two years and served on the JavaFX compiler team.

Jim Connors, a long-time member of Sun’s system engineering community, has spent a decade helping customers leverage Java technologies ranging from Java Card and Java ME to Java EE and JavaFX.

Eric Bruno, systems engineer at Sun, is author of Java Messaging (Charles River Media, 2005) and Real-Time Java™ Programming (Prentice Hall, 2009) and is currently contributing editor and blogger for Dr. Dobb’s Journal.

Excerpt. © Reprinted by permission. All rights reserved.

Preface

Preface

Welcome to Rich Internet Application development with JavaFX.

This book is about creating more engaging user applications using special effects and animation. In this book, we will focus on using JavaFX for creating Rich Internet Applications.

Building upon the widely adopted and popular Java Platform, JavaFX provides a new level of abstraction that greatly simplifies graphical user interface development while at the same time bringing all the flexibility that Java technologies provide. This creates an elegant, yet powerful, platform for building full feature and compelling applications.

What Is JavaFX?

JavaFX is actually a family of products developed at Sun Microsystems. There are initiatives for mobile phones, consumer, television, and desktop devices. The cornerstone to these projects is JavaFX. JavaFX is a platform that includes a high performance declarative scripting language for delivering and building a new generation of Rich Internet Applications.

The primary focus of JavaFX is to make graphical user interface development easy while embracing more compelling features like visual effects, sound, and animation. JavaFX includes a ready-made framework to support graphic components and to easily include multimedia features like pictures, video, audio, and animation. Using the Java platform at its core, JavaFX works seamlessly with the Java platform and can easily leverage existing Java code. This also allows JavaFX to leverage the “write once, run anywhere” capability provided with the Java platform.

Why JavaFX?

Anyone who has ever written a graphical user interface application can appreciate the complexity of creating such an application. Though the resulting user interface can produce a powerful user experience, developing a cool application can be a daunting task. It takes a skilled developer who knows the graphical language and framework inside-out to pull off a well-written UI. JavaFX addresses this complexity.

Furthermore, graphic design and programming are two distinct skills. Graphic designers focus on the human interaction with the application, and are more interested in keeping the human’s interest and making the system intuitive. On the other side, the program developers are typically concerned with implementing business logic and interacting with back-end servers. It is a rare breed that masters both of these skills. JavaFX’s goal is to bridge these two crafts by allowing the graphic designer to dabble in an easily understood programming language, while at the same time allowing the developer the flexibility to implement the business rules behind the user interface.

JavaFX does this by

  • Simplifying the programming language
  • Providing ready-built user interface components and frameworks to support UI creations
  • Making it easy to update existing UI applications
  • Providing a cross-platform environment that delivers on “Write Once, Run Anywhere”

Rich Internet Applications

For many years, the programming paradigm has been centered on a client-server architecture employing a “thin” client. In this architecture, most of the processing was in the server with the client merely displaying the content. In a thin client system, data must be transmitted to the server for processing and a response sent back. This is very true of the HTML screens introduced with the original Internet browsers. However, by leveraging compute power on the client side, it is now possible to perform actions on the client, thereby reducing the round-trip latency to the server.

A Rich Internet Application is an application that allows a good portion of the application to execute on the user’s local system. Primarily, the client application is designed to perform those functions that enhance the user’s experience. Furthermore, communications with the server do not have to be initiated from a user action, like clicking on a button. Instead, a server itself can update the client with fresh content asynchronously as needed and without waiting for the end user to perform some action or by employing other tricks in the client like periodically polling the server.

So what is old is new again. In a sense this is true, but this really represents an evolution of the client server paradigm rather than a retrenchment back to the old days of the monolithic program that did everything. The key to a Rich Internet Application is striking the proper balance between behavior that should stay on the client with the behavior that rightfully belongs on the server. JavaFX is a framework that embraces the Rich Internet Application model.

Why This Book?

JavaFX is a new technology and we set out to help you get started quickly by exploring key features of JavaFX and how it should be used. We purposely did not want to do a language reference document as the language itself is fairly simple. Our main goal is to help you to quickly and productively create cool user interfaces.

This book’s primary audience is comprised of developers (of all levels) and graphic designers who need to build Rich Internet Applications. There are different types of developers and designers that this book targets:

  • Java developers who are currently building Rich Internet Applications with Java Swing
  • Java developers who are interested in learning JavaFX for future projects
  • Non-Java application developers who wish to use JavaFX for Rich Internet Application development
  • Graphic designers, animators, or motion-graphic designers who wish to use JavaFX to add special effects, animation, and sound to their creations

How to Use This Book

This book has thirteen chapters. The first four chapters cover the basics of JavaFX, how to get started, what the graphic designer’s role is, and the basic language. The next five chapters cover the advanced features you expect in a Rich Internet Application. These include basic UI design, special effects, animation, multimedia, and browser display. Chapter 10 covers using JavaFX in a Web Services architecture. Chapter 11 describes JavaFX’s interaction with the Java platform and assumes you are knowledgeable about Java. The last two chapters cover JavaFX code recipes and a complete Sudoku application.


Beyond the Written Page - With the expressive platform that JavaFX provides, it is hard to fully demonstrate all its capabilities on the written page. To fully appreciate all the features and capabilities that JavaFX brings, we suggest visiting the book’s Web site http://jfxbook.com. There, you can see the full color versions of the figures used throughout the book. Also at the Web site, you can run the demos in full color and experience firsthand the richness of the animations and multimedia.


We have used a building block approach with basic concepts covered first and more complex features addressed later in the book, so we suggest you read each chapter in sequential order. If you are a graphic designer, you may be more interested in Chapter 2. You can safely start there, then jump back to Chapter 1 to dig deeper into JavaFX. If you are an “über”-coder, you can safely skip Chapter 2, but we still suggest you eventually read it just to know what the “dark” side is doing. Chapter 11 assumes you have a good understanding of the Java platform and APIs. If you do not plan to comingle your Java classes with JavaFX source in your application, you can safely skip this chapter. The last two chapters show some code examples based on the foundations laid down in the earlier chapters.

Here’s the book in a nutshell:

  • Chapter 1: Getting Started. This chapter gets you set up and shows the basics of creating and running a JavaFX program.
  • Chapter 2: JavaFX for the Graphic Designer. This chapter explains how a graphic designer would use JavaFX to create JavaFX Graphical Assets.
  • Chapter 3: JavaFX Primer. This chapter covers the basic JavaFX Script syntax.
  • Chapter 4: Synchronize Data Models—Binding and Triggers. JavaFX Script introduces a data binding feature that greatly simplifies the model-view-controller design pattern. This chapter explains the concepts of data binding in the JavaFX Script language.
  • Chapter 5: Create User Interfaces. The primary focus of JavaFX is to create rich user interfaces. This chapter explores the visual components available to create user interfaces and demonstrates how the features of JavaFX work together to produce a rich user experience.
  • Chapter 6: Apply Special Effects. A key to Rich Internet Applications is applying cool special effects to bring user interfaces alive and make them appealing to use. This chapter explores the special effects that JavaFX provides, including lighting, visual, and reflection effects.
  • Chapter 7: Add Motion with JavaFX Animation. Animation makes the user interface vibrant and interesting. This chapter explains the concepts behind the JavaFX animation framework and provides examples of fade in/out, color animation, and motion. It also demonstrates an animation using Graphical Assets generated by the graphic designer.
  • Chapter 8: Include Multimedia. This chapter ...

Product Details

  • Paperback: 384 pages
  • Publisher: Addison-Wesley Professional; 1 edition (June 11, 2009)
  • Language: English
  • ISBN-10: 013701287X
  • ISBN-13: 978-0137012879
  • Product Dimensions: 7.2 x 0.8 x 9.1 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Best Sellers Rank: #666,823 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.2 out of 5 stars
(4)
4.2 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
7 of 7 people found the following review helpful
Format:Paperback
JavaFX is a family of products developed at Sun Microsystems. It is a platform that includes a high performance declarative scripting language for building Rich Internet Applications. JavaFX code is much easier to write than straight Java code, yet it integrates easily with Java programs. This book explores the key features of JavaFX and how it should be used. You don't have to be a Java programmer to understand this book, but it helps. The following is an outline of the book's chapters and contents, which does not yet appear to be available via the product description:

Chapter 1. Getting Started - How to write your first JavaFX application using three different methods - via Netbeans, the command line, or Eclipse.
Installing the JavaFX Platform
Setting Up NetBeans IDE for JavaFX 1.2
Command Line
Eclipse

Chapter 2. JavaFX for the Graphic Designer - This talks about the tools that a graphic designer, as opposed to a programmer, will use to produce JavaFX programs. You can skip this if you are a programmer.
Graphic Design and JavaFX
JavaFX Production Suite
Adobe Illustrator CS3
Adobe Photoshop CS3
Scalable Vector Graphics

Chapter 3. JavaFX Primer - Covers key concepts in the JavaFX scripting language. Shows you how to declare a script and instance variables create and modify sequences, and how to control logic flow.
JavaFX Script Basics
JavaFX Script Language
Class Declaration
Mixin Classes
Object Literals
Variables
Sequences
Functions
Strings
Expressions and Operators

Chapter 4. Synchronize Data Models - Looks at how binding can be used in JavaFX to associate unrelated entities such that changes in one can be seen in the other.
Binding
Bidirectional Binding
Advanced Binding Topics
Triggers
Coming Features

Chapter 5. Create User Interfaces - Discusses the stage, scene, style sheets, JavaFX nodes, custom nodes, layout options, and Java Swing Components. These are the basics that enable the creation of media rich interfaces.
User Interfaces
The Stage
The Scene
Nodes
Layout
Input Events
Text Display
Custom Controls
Shapes
Java Swing Extension

Chapter 6. Apply Special Effects - This is where things really get interesting. The chapter talks about the effects that come as part of the JavaFX platform and includes simple examples of how effects are used.
Effects

Chapter 7. Add Motion with JavaFX Animation - Discusses the basics of animation in JavaFX. Covered are the classes used to define animation and how to use the standard interpolators. Also you learn how to build your own custom interpolator. A couple of examples are shown to give you the idea.
Computer Animation
Timelines
Key Frames
Interpolation
Path-Based Animation
Total Solar Eclipse Examples

Chapter 8. Include Multimedia - There are several specific classes that deal with sound, video, and images, and they are discussed here and illustrated with examples. If you are familiar with the old Java Media Framework, some of this might look familiar.
Multimedia
Images
Media--Audio and Video

Chapter 9. Add JavaFX to Web Pages with Applets - The JavaFX applet model has been completely rewritten to be based on Java Web Start, allowing applets to use its caching mechanisms and speed applet start-up time. There is also consistency across browsers, thus fixing the old Java applet model.
JavaFX and Applets
Deploying a JavaFX Application as an Applet
Java Web Start

Chapter 10. Create RESTful Applications - JavaFX applications make ideal REST clients, and this chapter shows you how and why. There's also a brief explanation of what exactly REST and these other web technologies are.
What Is REST?
JavaScript Object Notation (JSON)
JavaFX and REST
JavaFX and XML

Chapter 11. JavaFX and Java Technology - Shows you how to incorporate Java classes into JavaFX script along with the rules for doing this.
Classes
Java Objects
Function Parameter and Return Mapping
Java Scripting
JavaFX Reflection

Chapter 12. JavaFX Code Recipes - Contains a few code recipes that might help you develop others for your own applications. Examples always help like nothing else.
JavaFX and JavaBeans
Server Call Back
Node Effects--Fader and Magnifier
Wizard Framework
Progress Bar
Slider
Matrix

Chapter 13. Sudoku Application - The game of Sudoku is written in JavaFX. If you're not familiar with the game, that is explained too.
How to Access the JavaFX Sudoku Application
The Interface
Source for the Sudoku Application
The Overall Design
Interfacing with Java Components

This is the first book that really whetted my appetite for JavaFX. The others were so busy trying to shove Netbeans down my throat that I lost interest not far into the read. This book shows you the Netbeans approach, but also recognizes that some of us aren't interested in Netbeans and doesn't try to drop you into the middle of - IMHO - that entangled mess of a technology. I found this book quite approachable and helpful, and most of all, direct, particularly with all of the examples. Highly recommended.
Comment | 
Was this review helpful to you?
3 of 3 people found the following review helpful
4.0 out of 5 stars A great introduction to JavaFX January 20, 2010
Format:Paperback
Original review by Pasquale Granato, JUG Lugano [...]

Approaching a book about a brand new technology can be dangerously misleading because you can end up to write about the latter instead to focus on the former. On the other side it's really hard to separate the two things but I swear that I'll do my best.

Let's start talking about the book intended audience. The authors target the book to Java developers and to graphic designers as well. Probably people without a specific programming background will have some serious difficulties to follow many of the topics covered in the book. Speaking as a Java programmer I'd have appreciated more explanations where needed on the differences between Java and JavaFX script.

(Personal annotation. I looked astonished for five minutes at this

var num = if(sizeof args > 0) {
java.lang.Integer.valueOf(args[0]);
} else {
10;
}

before be acquainted with it. The JavaFX Script programming language is indeed an expression language, which means that everything, including loops, conditionals and even blocks, are expressions and can return a value.)

The first two chapters of the book are devoted to set up the environments for both the programmers and the graphic designers. In a few pages it really makes clear how to get started using NetBeans or Eclipse (for programmers) and Photoshop or Illustrator (for graphic designers). Just to reassure you: yes, "Hello, world!" is the very first example of the book.

In chapters three and four authors introduce the core of the JavaFX scripting language. Topics like sequences, expressions, binding and triggers are clearly covered with many short examples.

After this boring but necessary stuff the fireworks begin. From the chapter five to eight the power of JavaFX is unleashed: the creation of cool and appealing user interfaces.
The theater metaphor within the JavaFX user interface framework is really well covered. The reader will learn about the Stage, the Scene and the Nodes and how they combine as basic elements to make complex user interfaces. Special effects and animations are topics exceptionally well enlightened with clear descriptions, many examples, pictures and graphs.
In comparison, the multimedia topic is covered extremely concisely. This is due to the fact that putting images and video in a JavaFX project is really simple.

The publication of JavaFX project is an important topic covered in good detail in the chapter nine. The use of applet and Java Web Start as a way of publication is explained with many hints and with a cool paragraph about the integration between JavaFX and JavaScript. Unfortunately no attention is paid to other publication methods like mobile or television profile.

An advanced topic, namely the creation of RESTful applications, is covered in chapter ten which presents an example widget that shows current weather conditions using data received form external web services.

Java programmers will then be grateful for the chapter eleven, which covers in deep detail the integration between JavaFX and Java, with many tables about function parameter and return mapping and about type conversion mapping.

A special mention should be deserved for the contents of the chapter twelve, JavaFX Code Recipes. In this chapter the authors present many code samples that will help the reader in several real world situation. For a new technology like JavaFX the value of being taught by the creators comes out in this advices that surely help to understand the language and to avoid the traps.

In the last chapter of the book a complete Sudoku application is presented. This is an invaluable reference because all the range of topics are dissected, starting from the concept and the design, to the logic, to the interface. Many excerpts of code are analyzed with several useful considerations.

The book has been written before the specification JavaFX 1.2 was finalized. So in many parts of the book the authors complain the absence of definitive example and send the reader to the web site in which they'll publish as soon as finished new chapters on 1.2 and revised examples. As this review has been written, those chapters have not yet been published on the web site. The examples instead have been updated for 1.2 specifications and can be downloaded for free.

In conclusion, this is a really good book to learn JavaFX. All topics are presented clearly and the overall readability of the book is excellent. It should be used for linear reading only; it hardly will work as a reference. JavaFX experts will do better looking somewhere else. New comers of the technology (with a good background of Java) will probably not find any better.
Comment | 
Was this review helpful to you?
1 of 1 people found the following review helpful
5.0 out of 5 stars A fine pick for any Java programmer's collection September 16, 2009
Format:Paperback
Jim Clarke, Jim Connors and Eric Bruno's JAVA FX: DEVELOPING RICH INTERNET APPLICATIONS tells how to build Rich Applications that run on the desktop, the web, or mobile devices alike. Using Java FX, developers and graphic designers will find plenty of enabling methods using the Java programming platform. From building JavaFX programs to adding special effects, motion, and blending in pictures and videos from other applications, this is a fine pick for any Java programmer's collection.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
Search Customer Reviews
Only search this product's reviews


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category