The book gives an introduction to JavaFX 2, a web framework for realizing Rich Internet Applications (RIA). Overall, this is good book. If you want to get started with JavaFX 2, then you should buy this book. The book is easy to read and has good code examples (which you can download, too) for every feature.
Publication Date: February 29, 2012
Authors: Jim Weaver, Weiqi Gao, Stephen Chin, Dean Iverson, and Johan Vos
The book begins with a “getting started” chapter, which explains the initial setup of software and tools, and explains the basic concepts. This is what you need when you start with a new technology.
Afterwards, several chapters go into more detail about creating a user interface, defining properties and bindings, and using UI controls. After reading these chapters, you are ready to realize your first JavaFX application.
The next chapter explains the thread concept of JavaFX. This is very important to understand for writing responsive applications. After reading this chapter, you can start programming production-ready JavaFX clients. Of course, you also need to connect to a backend, so the chapter “accessing web services” is a must-read for developer who do not write standalone applications. The book explains several ways how to connect to a backend via XML or JSON. Even several addons and frameworks are mentioned including code examples (e.g. RESTFX or Jersey).
Further chapters describe how to use advanced UI controls for creating charts or including media files.
The last chapter describes how to use alternative JVM languages and layout markup languages besides Java, namely Groovy, Scala, FXML, and Visage. This chapter is awesome. Even if you do not have any experience with these languages, you will learn and understand the differences compared to Java, and see why and when you can benefit from using another language instead of Java.
Even though this book is a great introduction to JavaFX 2, here is some criticism. The major weak point is that you do not get much information about deployment. You can deploy JavaFX applications as standalone application, as Applet within a web browser, or run it via Java WebStart. But how do you do that? How do you configure the application (e.g. how do you configure your JNLP file for Java WebStart)? Every developer needs to know this to use the application outside of his IDE… You have to google to get answers.
Besides, two minor weak points:
Firstly, there is no word about unit testing. How should you write tests for your JavaFX application? Are there any best practices?
Secondly, when should you use JavaFX, when should you use another framework (e.g. JSF, GWT, Grails, etc.)? This book has a lot of marketing style, so you won’t get an answer here about problems of JavaFX.
As mentioned in the beginning, this is a very good introduction to JavaFX (omitting the deployment aspect) and easy to read. Every feature is explained in detail, including good code examples. So, if you want to get started with JavaFX 2, I can recommend this book to you.
Kai Wähner (Twitter: @KaiWaehner)