Design modern, rich interfaces for Java apps using JavaFX 10 JavaFX 10 is used to create media-rich client applications. This book takes you on a journey to use JavaFX 10 to build applications that display information in a high-performance, modern user interface featuring audio, video, graphics, and animation. Mastering JavaFX 10 begins by introducing you to the JavaFX API. You will understand the steps involved in setting up your development environment and build the necessary dependencies. This is followed by exploring how to work with the assets, modules, and APIs of JavaFX. This book is filled with practical examples to guide you through the major features of JavaFX 10. In addition to this, you will acquire a practical understanding of JavaFX custom animations, merging different application layers smoothly, and creating a user-friendly GUI with ease. By the end of the book, you will be able to create a complete, feature-rich Java graphical application using JavaFX. If you're a Java developer who wants to upgrade to the latest version of JavaFX to create stunning, feature-rich graphical applications, this book is for you.
First, let me say that the author, Sergey Grinev did a fine job in this book, which may seem an odd thing to write given the low rating. But the English is natural and quite fluid, which puts it head over shoulders above a lot of Packt books. You can read and understand this book. The mistakes are largely editorial, i.e., something an editor should have caught, like "omplementation" or "Instagram filters as seen on Instagram." (Which reminds me or Ralph Ellison's explanation to Eddie Murphy in "Trading Places", "...or in bacon, such as you might find on a bacon, lettuce and tomato sandwich".)
And I'm not marking off for the "Mastering ..." title. Tech book titles are lurid grindhouse posters and their tables-of-content carnival barkers designed to do only one thing: sell the book.
Suffice to say: You will master nothing from reading this book. This book follows the formula of "go through the API and write up little examples that aren't exactly the ones in the docs, with minimal explanation". This formula for writing a tech book is very easy and very fast, and even then this book was out-of-date almost immediately.
So, it's a dilemma not entirely of the publisher or author's making, but it leaves you with a broad, shallow experience which is broken in several places. It's fine to talk about bindings in JavaFX, but until you've run through a data-entry type application with controls and datagrids, you have no functional experience with them.
Somebody at the publisher says "Hey, people will skim the content looking for 3D stuff, so put some of that in there." The author dutifully puts in a few pages that are almost no help. And the sucker pays out his cash thinking, "Oh, look, this has 3D in it!"
Don't be a sucker, obviously. But these days, with more and more tech going through subscription plans, does this business model even make sense? I read this book through an existing subscription, and I very nearly didn't read it because it was a Packt book and almost all the books I've read of theirs were like this. So how does this help?
I had a subscription to Packt for a while because it's so cheap, but it's very, very expensive in terms of the time you waste just trying to parse the English sometimes. I found I could at least copy the examples in this and try them out, for the most part.
Far better would've been to focus on particular elements of JavaFX, to deep dive into how the things work. And there are a few glimmers here—skinning the clock control was cool, e.g., though there wasn't a clear explanation of what "skinning" meant—that show Sergey really knows his stuff and could probably do a good job in greater depth.
Unfortunately, there are not enough similar instances to make this a recommend.
This book feels more like a tutorial that gives you some basic overview what can be done using javafx and describes some gotchas you could stumble upon when starting with javafx. That's something that is very useful. I would recommend this to anyone getting started with javafx, but definitely not call this "mastering javafx".