Game Developer Personal homepage: http://www.nobel-joergensen.com/ Personal blog: http://blog.nobel-joergensen.com/ Morten has posted 4 posts at DZone. View Full User Profile

JavaFX: Developing Rich Internet Applications

09.18.2009
| 11647 views |
  • submit to reddit
Published by: Addison-Wesley
ISBN: 013701287X

Reviewer Ratings

Relevance:
4

Readability:
5

Overall:
4

Buy it now

One Minute Bottom Line

This is a great book about JavaFX that covers everything from the simple “Hello world” application to professional looking rich Internet applications. The book is a part of “The Java Series” by Sun and the three authors share a lot of tips and tricks, that are unlikely to be found elsewhere. The book was written before JavaFX 1.2 was released, so here and there the language or the API has changed, but it doesn't really affect an overall impression of the book. I will recommend this book to any Java developers that wants try the JavaFX platform.

Review

The main audience targeted by this book is Java developers since many JavaFX concepts are built on top of the Java platform. In addition, it targets non-Java application developers and graphic designers.

The book starts out with the classic “Hello World” application, created in Netbeans and Eclipse and using the command line tools. It does a great job of getting you started and gives a good overview of the SDK.

In the beginning of the book, graphic designers will learn how to use the JavaFX Production Suite to create graphical assets using Photoshop, Illustrator or raw SVG. Unfortunately, limitations and best practices of the Production Suite are not covered; I think these would have added a lot. 

Further into the book, the authors do an excellent job of explaining the JavaFX language. JavaFX centric topics like sequences, binding and triggers get most of the attention. Chapters are filled with small examples that help readers to understand the language.

Readers also learn how to create user interfaces using nodes (components, shapes and text), CSS and layouts. The content on this topic is very well written, but could have had a deeper explanation of the scenegraph, on top of which every JavaFX user interface is built.

This book also shows readers how to apply special effects, add motion with animation, and use multimedia with JavaFX. It gives an overview of all of the special effects in the JavaFX platform. Each effect is well explained with some examples and screenshots. Readers learn about animation using key frames, interpolators and paths. The book shows how to make custom interpolators for creation of elastic and shaking animations. Since using multimedia in JavaFX is simple, it is covered briefly. Specifically, the book explains how easy it is to use media (images, sound and video) and what formats are supported on different platforms.

The most advanced topic covered in the book is JavaFX and Java Technology. This is well-written, but readers must possess a certain level of Java-skills to fully understand all of the concepts. It discusses interactions between Java and JavaFX, Java Scripting API, and JavaFX Reflection.

Since knowing a language and it’s API is never enough, readers are given you such invaluable advice regarding the common patterns and best usages of the technology. Unfortunately the information only covers the tip of the iceberg; hopefully an entire book will be written about this subject someday.

The book wraps up with by far the best topic, the Sudoku Application. I recommend that anyone with interest in JavaFX try this fabulous application. The book describes interface- and design considerations from the development of the application. Some of the complex code segments are listed and explained.

Readers should look forward to three extra chapters that the authors are currently working on, which will shine light on a the new JavaFX 1.2 features. The titles of these three chapters to-be are Using Layout to Arrange the Scene, Using Ready-made Controls, and Creating charts.

 In short, this book offers a great introduction to the JavaFX platform and covers all aspects of creating and deploying a JavaFX application. The non-Java developer will be challenged, since some of the Java features are assumed to be familiar. Graphic designers should probably look elsewhere for knowledge about JavaFX.

Resources

 

Published at DZone with permission of its author, Morten Nobel-Jørgensen.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Sura Sos replied on Sun, 2009/09/20 - 9:02pm

JavaFX may be great, but the load time is too slow. even hello world example takes 20s to load.

It needs to be as quick as flash.... fix the security dialog box. No one wants to click the security box 2 or 3 times before viewing the app.

 

 

Morten Nobel-Jø... replied on Mon, 2009/09/21 - 2:22pm in response to: Sura Sos

JavaFX is a much richer platform that Flash (larger API since the full Java API is available). Unfortunately this means longer startup time, as JavaFX runs on top of the JRE.

I don't think JavaFX ever will beat Flash in creating lightweight small applications as banner ads. But for medium sized apps such as games and applications I don't consider a few seconds extra startup time an issue.

What JavaFX really need is a killer app. A showcase that really shows the world what JavaFX is capable of.

But from my point of view JavaFX is interesting mainly because of the the language aspects such as binding, sequences and animations. And the fact that it is statically typed and declarative. This makes the GUI coding easy and well-structured.

Thierry Milard replied on Tue, 2009/09/22 - 10:55am in response to: Morten Nobel-Jørgensen

JavaFX is a much richer platform that Flash (larger API since the full Java API is available). Unfortunately this means longer startup time, as JavaFX runs on top of the JRE.

---> so so  ... too bad for Sun. If all the potential users think 20 seconds is too big for a web-inegrated-application (call it Applet or flash stuff)    well perhaps Sun has not done a good job.

Don't you find it really so stupid to build a wonderfull java language or javaFx language. And to see that after all these years it is still the SAME issue that keeps java rich platform with quasi-no-traction.

I wish Sun had understood that for us web developper :

1) they still have to work harder to reduce the loading time. Is 2 second loading relly impossible on a low level 2 year old machine ?

2) They must give us developer a way to replace the java-turning-log by out logo/image and at the same time keep the horyzontal progress bar.

 

 Thierry

 

William Siqueira replied on Wed, 2009/09/23 - 5:29am

@surajzsz
No! JavaFX don't need 20 seconds to load!
Look in Rakesh Menon's Blog:
http://blogs.sun.com/rakeshmenonp/entry/javafx_applet_startup
But I also think that JavaFX need a Killer App...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.