The early 1990s saw the introduction of several game-changing technologies, two of which were the Java programming language and the World Wide Web. Prior to that period, client-server architectures were all the rage. One of the big challenges of client-server was developing application user interfaces (UIs) for various client machines and operating systems.
While most of the application development world was content with adapting web-based technologies such as HTTP, HTML, and JavaScript to client application development, a remnant of developers envisioned an alternative future. This future is being realized today in the form of rich, responsive clients that execute on the nearly ubiquitous Java Virtual Machine (JVM). I have had the privilege of co-laboring with many of these talented and revolutionary developers, several of whom have contributed the content that you’ll read in the following pages. These champions of JavaFX include Gail Anderson, Paul Anderson, Bruno Borges, Stephen Chin, Carl Dea, Toni Epple, Weiqi Gao, Jonathan Giles, José Pereda, Eugene Ryzhikov, Sven Reimers, William Antônio Siqueira, and Johan Vos.
Here’s a sampling of the rich-client treasures buried in this book: First, the groundwork is laid by showing how prevalent Java is in user interfaces that you may not have realized are written in Java. Then, the fundamentals of JavaFX are methodically revealed in a very approachable manner. After this treatment of foundational concepts, deep dives are taken in the important capabilities and libraries contained in JavaFX. Some of these capabilities are behind the scenes, such as JavaFX properties and binding, and some are visual, such as JavaFX controls and 3D graphics. After these JavaFX internal deep dives, several environments in which JavaFX can add much value are explored in depth. These environments include web, desktop, mobile, and embedded devices and the cloud. Finally, some leading-edge uses of JavaFX are discussed, including machine learning and scientific applications.
It is important to note that JavaFX is developed in the OpenJDK umbrella and has its own release vehicle. As such, there is only one JavaFX, and it works on desktop, mobile, and embedded platforms. JavaFX evolves with and leverages new features of Java, ensuring that it will continue to be a cutting-edge platform.
—James Weaver
September 2019
is Head of Developer Relations at JFrog and a Java Champion. He has keynoted numerous Java conferences around the world including Devoxx, JNation, JavaOne, Joker, and Open Source India. Stephen is an avid motorcyclist who has done evangelism tours in Europe, Japan, and Brazil, interviewing hackers in their natural habitat. When he is not traveling, he enjoys teaching kids how to do embedded and robot programming together with his teenage daughter. You can follow his hacking adventures at: http://steveonjava.com/ .
started to work with Java in 1995. He was part of the Blackdown team, porting Java to Linux. His main focus is on end-to-end Java, combining backend systems and mobile/embedded devices. He received a Duke Choice award in 2014 for his work on Javafx on mobile.
In 2015, he co-founded Gluon, which allows enterprises to create (mobile) Java Client applications leveraging their existing backend infrastructure. Gluon received a Duke Choice award in 2015.
Johan is a Java Champion, a member of the BeJUG and Devoxx steering groups, and is a JCP member. He is one of the lead authors of thePro JavaFX books (published by Apress), the author ofQuantum Computing for Java Developers (Manning), and he has been a speaker at numerous conferences on Java.
Johan contributes to a number of projects, including OpenJFX, OpenJDK, GraalVM., and is the project lead for OpenJDK Mobile and the co-lead for OpenJFX.
is a developer, author, and speaker with a passion for quantum computing and JavaFX. He is a Java Champion and a JavaOne Rockstar. James has written books includingInside Java ,Beginning J2EE , thePro JavaFX series, andRaspberry Pi with Java . As an IBM quantum developer advocate, James speaks internationally at quantum and classical computing conferences. He tweets as@JavaFXpert and blogs at http://JavaFXpert.com and http://CulturedEar.com .
Gail enjoys researching and writing about leading-edge Java technologies. She is the co-author of eight textbooks on software programming, includingJavaFX Rich Client Programming on the NetBeans Platform .
Gail has conducted technical sessions and hands-on labs at Oracle Code One and NetBeans Day conferences in San Francisco, Europe, and Latin America. Gail has also presented sessions at Devoxx and Devnexus.
For more information about Gail, visit asgteach.com, the Anderson Software Group on Facebook, and@gail_asgteach on Twitter.
Paul is an experienced speaker and specializes in making the technical aspects of software engineering fun and understandable. He is the co-author of eight textbooks on software programming, includingJavaFX Rich Client Programming on the NetBeans Platform .
Paul has conducted technical sessions and hands-on labs at Oracle Code One and NetBeans Day conferences in San Francisco, Europe, and Latin America. Paul has also presented sessions at Devoxx and Devnexus and is the author of LiveLesson videos on JavaFX programming and Java Reflection.
For more information about Paul, visit asgteach.com, the Anderson Software Group on Facebook, and@paul_asgteach on Twitter.
has been developing applications with the Java platform since 2000. Throughout his career, Bruno has developed desktop applications with Swing and JavaFX platforms, as well as dozens of large web systems with Java EE standards and third-party libraries like Spring Framework, Apache projects, and others. His experience building systems for corporations and government agencies led him to join big vendors like Oracle and Microsoft in the fields of product management and developer relations to foster investment in tools and runtimes for Java developers across different industries. Bruno is an active participant of the Java community at large and a recognized conference speaker and influencer and was recently named a Java Champion. Some of his most well-known public projects are the JavaFX port of the game2048 , the Twitter component for Apache Camel, his work with Oracle to initiate the donation of NetBeans to the Apache Foundation, the Docker images for Oracle products, and the Java EE platform account on Twitter to foster the community. You can learn more about his work at https://brunoborges.io .
is a consultant for a wide variety of companies worldwide, ranging from startups to Fortune 500 companies, in many areas, including financial institutions and aerospace. In his spare time, Anton is a member of the NetBeans Dream Team and the organizer of the JayDay developer conference in Munich. In 2013, he joined the Java Champions and received a JavaONE Rockstar Award. In 2014, he received a Duke’s Choice Award for his work on DukeScript.
is a partner and principal software engineer at Object Computing, Inc. in St. Louis, Missouri, USA. He has decades of software development experience and has been using Java technology since 1998. He is interested in programming languages, object-oriented systems, distributed and cloud computing, and graphical user interfaces. He is part of the original author team that produced thePro JavaFX series for Apress. He is a member of the steering committee of the St. Louis Java Users Group. Weiqi holds a PhD in mathematics.
is a principal Java architect at Microsoft. Before this, he was a technical lead in the JavaFX team at Sun Microsystems and Oracle Corp. for 9 years, where he led the development of the JavaFX user interface (UI) controls library and other related libraries. With his considerable contributions to Java releases 7–11, he takes immense pride in having his code deployed on almost every computer on the planet. Jonathan is passionate about creating excellent developer experiences with considered API design, documentation, testing, and tooling. He has toured the world extensively to present and write on these topics, and as a result he is a Java Champion, a JavaOne Rockstar, and a Duke’s Choice Award winner.
who specializes in structural engineering, works as a software engineer at Gluon Software. He is a Java Champion, Oracle Groundbreaker Ambassador, and JavaOne Rockstar. Having worked with Java since 1999, he is a JavaFX advocate, developing Java applications for mobile and embedded platforms connected to the cloud and enterprise systems. He also works on open source projects like OpenJFX and FXyz 3D ( https://github.com/jperedadnr ), co-authors JavaFX-related books (such asJavaFX 8: Introduction by Example andJavaFX 9 by Example , both published by Apress), blogs ( http://jperedadnr.blogspot.com.es/ ), tweets(@JPeredaDnr ), and speaks at JUGs and conferences (JavaOne, Devoxx, JAX, Jfokus, JavaLand, JCrete, JBCNConf, to name a few). José lives with his family in Valladolid, Spain.
based at Lake Constance in southern Germany, works as a systems engineer at Airbus Defence and Space, creating next-generation ground segment software for space systems. He has more than 20 years’ experience building complex software systems and more than 20 years’ experience with Java, going back to its early days. In 2009, Reimers was the winner of the Duke`s Choice Award in the Network Solutions category for ND SatCom Satellite Communication Management Software. He is part of the Apache NetBeans PMC, a contributor to OpenJFX, and the leader and founder of JUG Bodensee. For his long-term commitment to Java and the community, Reimers was named a Java Champion in 2014.
In addition, his interests also include traditional Okinawan martial arts, jazz piano, and traveling with his lovely wife and daughter.
is a software engineer working at Red Hat and is a longtime JavaFX blogger and Java developer. He is also a local JUG contributor and has created and has contributed to several Java and JavaFX projects.
is a principal software engineer. He has been developing software for over 20 years, for many clients from Fortune 500 companies to nonprofit organizations. He has written software ranging from mission-critical applications to ecommerce-based web applications. His passion for software development started when his middle school science teacher showed him a TRS-80 computer. Carl has been using Java since the very beginning, and he has been a huge JavaFX enthusiast since the early days when it was its own language called JavaFX script. His current software development interests are UI/UX, game programming, data visualizations, embedded systems, smartphones, AI, and robotics. When Carl is not working, he and his wife enjoy canoeing and day trips to the beach. Carl and his wife are proud parents of their younger daughter who attends Salisbury University. Carl and his wife are also proud of their older daughter, who is a high school teacher in Anne Arundel County, Maryland. Carl lives in Pasadena, Maryland, USA.
3.143.239.234