am 18. April 2012
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.
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)
am 5. April 2013
The content is indeed good for starters with JavaFX. Developers familiar with Swing or SWT however might get slightly bored when some topics are discussed a bit too detailed - but one can cope with that.
What really annoys me is that really ugly code-formatting by using builders and the fluent interface API: Readers ought to be in a kind of learning-mode so examples should be easy to follow. On Kindle (even in landscape) there is not much place (neither in books): the indenting necessary by the nested calls wastes space and the linefeeds break the "picture" of the code.
The "usability" for readers is really bad though the fluent API is a nice approach. The chained and nested calls to a bunch of builders that require several pages to come to an end is very nasty! In Germmany this might result in being called "Spagetti-Code" (though it has indentation).
When coding itself is a kind of art, not to loose track of the code, this applies even more for writing a book! The eye of the reader needs "landmarks" for orientation but these chained calls sometimes seem to go on forever - that's not a comprehensive style!
What I am missing are more detailed information about the more complex controls like tree and table, editing cells and that stuff.
In cetain areas the javafx-samples (version 2.2.7, application Enseble) provides more informative code-snippets (though tree and table are also very simplified and Popup is missing at all)
am 7. Dezember 2012
I was looking for a book with examples and descriptions how to program the various UI widgets, how to program modal dialogs and filechooser-dialogs with JavaFX, and how to deploy the program on various platforms, but I found a book with deep descriptions of some issues of JavaFX, while some other issues are totally missing. And I don't understand, why there is a whole large chapter on Webservices in a book of a GUI-framework. Finally, I discarded the book and was looking on the Web for information to successfully implement my first large-scale application with JavaFX 2.2.
But I give a second star because the chapter about Bindings is useful.
am 31. Mai 2012
The book helps me understand how to build UIs with JavaFX, and what the underlying patterns are. It neatly introduced a few alternatives to plain Java (like Scala or Groovy) too. Aspects like asynchronous tasks and JavaFX-specific data structures, like observable collections, are covered too.
It does, however, neither dig deeply into FXML nor higher-level application architecture, e.g. whether to use MVP or MVC or any other pattern, and how to implement it related to JavaFX. Nevertheless it is a good introduction to get started with JavaFX, as long as you do not plan to use FXML.