Jonathan has posted 7 posts at DZone. View Full User Profile

Book Review: Pro JavaFX Platform

  • submit to reddit
Published by: Apress
ISBN: 1430218754

Reviewer Ratings




Buy it now

One Minute Bottom Line

Whether you are new to JavaFX or a seasoned Java desktop developer, if you want to get to know JavaFX, then I happily and wholeheartedly recommend the Pro JavaFX Platform book. It is a good book, and it will get you up to speed very quickly. It is based on the latest JavaFX 1.2 release, so you need not worry that you’re learning old language and API’s.



Chapter 1, Getting a Jump Start in JavaFX, gives a good introduction to developing applications in the JavaFX language. It brings you up to date on the brief history of JavaFX, and shows you how to get the JavaFX software development kit. It then walks you through the process of compiling and running JavaFX applications, and teaches you a lot about the JavaFX language and API while walking through example application code.

Chapter 2, Taking a Closer Look at the JavaFX Script Language, covers the fundamentals of the JavaFX Script language, including concepts such as variables, primitive types, literal values, and basic operations.  JavaFX sequences are introduced in this chapter, along with how to access their members and perform sequence comprehension. By the end of this chapter you have had a comprehensive introduction to the JavaFX Script language.

Chapter 3, Creating a User Interface in JavaFX, associates the metaphor of creating a theatre play with JavaFX development, and discusses creating a stage, a scene, nodes, a model, event handlers, and animating some of the nodes.  It then delves into each of these concepts using JavaFX examples, finishing up with a Pong-like game that demonstrates how to detect when nodes in the scene have collided.

Chapter 4, Using Functions, Classes, and Other Advanced Features, discusses how to define functions and classes of your own. It then covers function signatures and function types, and how to write anonymous functions.  From there, this chapter introduces how to define class hierarchies, and the covers the details about class types. It also discusses what happens when an object is instantiated and how you can exert control over the process. This is one of the more comprehensive and in-depth chapters within the book, and it will certainly require you to be on your A-game to understand it all. Alternatively, be prepared to re-read this chapter as the need arises.

Chapter 5, Creating Custom UI Components and Charts in JavaFX, explains how to define custom UI components of two fundamentally different types -- custom nodes, and UI controls.  After showing you how to create custom nodes in the context of creating a couple of color selection components, it covers how to create UI controls in the context of a stoplight control that has multiple skins.  The chapter finishes by teaching you how to use the charting controls to simply and easily create charts in JavaFX.

Chapter 6, Using the Media Classes, explores the capabilities of the JavaFX media classes that make it easy for developers to incorporate playback support for most of the popular formats.   This chapter demonstrates how simple it is to include basic media playback support in your JavaFX applications and then shows you how to build more sophisticated playback applications.

Chapter 7, Dynamically Laying Out Nodes in the User Interface, shows how you can leverage the dynamic layout mechanisms of JavaFX to build complicated user interfaces with zero static positioning.  These mechanisms include the bind statement, powerful custom layouts built on top of the Panel and Container classes, and the built-in layouts including HBox, VBox, Flow, Tile, and Stack.

Chapter 8, Extending JavaFX with Third-Party Libraries, introduces several of the JavaFX third-party extensions that simplify the development of applications.   All of the third-party extensions introduced in this chapter are available as free or open source libraries. This ensures that anyone can make use of these libraries, and also guarantees that you will not be locked into a specific vendor.

Chapter 9, Building a Professional JavaFX Application, shows you some of the professional techniques we use to write real-world JavaFX applications. You will need them when working with a graphic designer, and you will find them useful when you are confronted with the memory usage and performance trade-offs that developers need to consider for real applications. This chapter also provides tips and techniques for enhancing the user’s experience.

Chapter 10, Developing JavaFX Mobile Applications, teaches you the basics of JavaFX Mobile development, which will enable you to write portable applications that work on both desktop and mobile devices.  During this chapter you’ll gain an understanding of the Common Profile, learn how to take advantage of the Java ME capabilities beneath JavaFX Mobile, and adopt JavaFX Mobile best practices that will enable you to write high-performance applications.

The Appendix presents the keywords and the operators of JavaFX Script.  Precedence and associativity rules are supplied for the operators.

Published at DZone with permission of its author, Jonathan Giles.

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


Tom Brander replied on Thu, 2009/07/09 - 9:24am

Nice review, sets a high bar for the rest of the review team!

Matt Stine replied on Thu, 2009/07/09 - 9:27am

Nice review. Keep 'em coming! ;-)

Craig Wickesser replied on Thu, 2009/07/09 - 10:09am

Looks good, I've been reading the PDF and JavaFX is certainly interesting.

Ferdinando Sant... replied on Thu, 2009/07/09 - 10:22am

Good review!

Looking for a little bit more personal impressions for the next review; I think personal opinions are important to enrich a review but more to give readers something new about a book.

Internet is plenty of generic reviews about contents; I would like to read more about writing-style, clearness and so on, when possible.

I'ts just my opinioni, not a criticism to you! :-)


Jonathan Giles replied on Thu, 2009/07/09 - 3:22pm in response to: Ferdinando Santacroce

Thanks for the feedback. In this case I was just following the review guideline. For future reviews I'll add a bit more of my opinion to the post, and maybe cut back on the chapter-by-chapter details.

-- Jonathan

Wojciech Halick... replied on Thu, 2009/07/09 - 3:51pm

I think you pretty well sticked to the review guideline and that's very good, but I'd also like to see more opinion about the book as a whole, writing style, samples included. After reading review I have good understanding what's the book's contents, but I don't know how it reads, is sample code helpful and well explained, how is the book done - my ebook is black and white is the real thing also? How does it compare to other books? Does it leave some questions unanswered? I know you've struggled to get deep understanding of different bounds purposes in JavaFX does Pro JavaFX dispel your doubts in that area? Thanks for you review. Keep it up!

Jonathan Giles replied on Thu, 2009/07/09 - 4:03pm in response to: Wojciech Halicki-Piszko


Thanks for the feedback. As I noted I'll stray away from the review guidelines for my next review (I have two in the pipeline), and give a bit more of an opinion.

To answer your questions:

  • The book reads very well. It is concise and explains the necessary points when relevant.
  • The sample code is good, but as with any source code in books, you get out what you put in (in terms of study).
  • Yes, the book is black and white.
  • I have not read any other JavaFX books, so I can't comment on how it compares, apart from saying that it is very current - it is based on the latest JavaFX 1.2 release.
  • As you note, the bounds issue that I have discussed on my blog is a tough one. This book covers the topic (as any JavaFX book should), but it does not answer my question of 'when should I use each one' as well as I'd like.



Otengi Miloskov replied on Sat, 2009/07/11 - 12:38am

I think with JavaFX 1.2, JavaFX now looks interesting, We have a working SDK on Linux and now it works on most platforms and browsers, I think it could repleace Swing for Desktop apps and RIA's, We have plugins for Eclipse and Netbeans(Intellij is lacking). But still lots of parts of the SDK propretary and it is not complete opensource, that is the problem of JavaFX right now for the adoption. If tommrow Sun/Oracle launch a complete Open Source JavaFX it will rise the bar pretty high but Oracle Deal plus not yet 100% opensource it is putting JavaFX in bad shape and people are still doing Flex or Silverlight.

 I will try to give a shot to JavaFX 1.2 but Im not sure if I will go beyond that with it until Oracle resolves the mess with the licesing of JavaFX.

By the way nice review of this book!.

Comment viewing options

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