Last week, Pro JavaFX 8 became available as a printed book and as an e-book. Being the lead author of this edition, I'm very excited.
When James Weaver and Stephen Chin asked me to take the lead on Pro JavaFX 8, I hesitated for a while. I wrote a couple of chapters for Pro JavaFX 2, and that was already an intense process. Pro JavaFX is an in-depth book, and it describe many parts of JavaFX in detail. It is not easy to have detailed knowledge about all the different parts of JavaFX. Good enough, Weiqi Gao stepped up to write a few new chapters and the original authors Dean Iverson, James Weaver and Stephen Chin promised to provide assistance and suggestions. That convinced me to accept the challenge. During the process, Mark Heckler became the tech reviewer. The knowledge that the whole book was screened with his high-quality standard, gives me a confident feeling.
There is a lot of information in Pro JavaFX 8. While updating chapters, I was often amazed on what a big change JavaFX 8 is compared with JavaFX 2. Many API's became richer and easier to use. Apart from the updated chapters, we have a few new chapters. There is a whole new chapter on FXML and SceneBuilder, as those tools are becoming more mature and easy to use. Also, the new JavaFX 3D deserved a chapter devoted to it as well. With JavaFX being available now on embedded and mobile, we felt it was required to provide a chapter on this as well.
The table of contents for the book goes as follows:
- Getting a Jump Start in JavaFX 8 In this chapter, you learn about the history of JavaFX and you create your first JavaFX Application.
- Creating a User Interface in JavaFX 8 You learn how to write a JavaFX Application that programatically renders a user interface
- Using SceneBuilder to create a User Interface A user interface in JavaFX can be created using the API's described in Chapter 2, but also in a declarative language called FXML, and with the help of a tool called SceneBuilder.
- Properties and Bindings Many cool features in JavaFX are possible because they use Properties and Bindings. Those concepts have no dependency on graphical components, but they allow a program model where the graphical components get their rendering information from values in a model.
- Building Dynamic UI Layouts in JavaFX In this chapter, we give an overview of layout techniques that allow you to create dynamic user interfaces.
- Using the JavaFX UI Controls The list of Controls (e.g. Button, ScrollPane,...) that are available out-of-the box is increasing. For example, in this chapter we describe the DatePicker.
- Collections and Concurrency In this Chapter, we describe one of the strong concepts in JavaFX which are Observable collections.
- Creating Charts in JavaFX The JavaFX Platform comes with a simple, powerful API that allows developers to render a variety of charts with just a few lines of code.
- Using the media classes A rich application platform requires support for multi-media. Learn how JavaFX supports audio and video.
- JavaFX 3D The JavaFX 3D API has been added in JavaFX 8 and is described in this chapter.
- Accessing Web Services Many JavaFX Applications that provide business value have to interact with (REST-based) webservices. In this chapter, we show how to connect a JavaFX Application to webservices.
- Java on Embedded, Mobile and Tablet Write Once, Run Anywhere. The number one advantage of Java also holds for JavaFX. This chapter talks about how to deploy JavaFX applications on embedded and mobile devices.
- JavaFX languages and markup There is a rising interest in alternative languages on top of the JVM. Learn how to use JavaFX in those languages.
All chapters in Pro JavaFX 8 come with code samples. We decided to make those available for free, allowing all JavaFX developers to check them out, learn from the code, and provide us and the community with feedback and suggestions. You can find the samples athttps://bitbucket.org/projavafx/projavafx8
Distributing the samples for free fits in the open spirit of the JavaFX Community. In all projects I've been doing, I've hardly ever seen such a close interaction between the creators (the JavaFX team at Oracle) and the users (the JavaFX developers all over the world).