FX Experience Has Gone Read-Only

I've been maintaining FX Experience for a really long time now, and I love hearing from people who enjoy my weekly links roundup. One thing I've noticed recently is that maintaining two sites (FX Experience and JonathanGiles.net) takes more time than ideal, and splits the audience up. Therefore, FX Experience will become read-only for new blog posts, but weekly posts will continue to be published on JonathanGiles.net. If you follow @FXExperience on Twitter, I suggest you also follow @JonathanGiles. This is not the end - just a consolidation of my online presence to make my life a little easier!

JavaFX

Vinumeris has announced that an alpha version of Lighthouse is now open source. Lighthouse is a “decentralised, peer to peer crowdfunding application that uses the smart contracts features of the Bitcoin protocol. It lets you create projects and pledge to those projects.” They have also announced the open sourcing of UpdateFX, which is a “small, simple automatic online update framework for JavaFX applications.”

Hendrik Ebbers was generous enough to arrange for a hard copy of his new book, Mastering JavaFX 8 Controls, to be sent to my place, so the least I can do is post a mini review of the book. I have now read the book cover to cover and I think that it is a very good book for people wanting to learn more about the controls that ship in JavaFX 8, and also for people wanting to learn more about how to build custom controls specific to their use cases.

Reviewing a book like this is difficult for me as I have lived and breathed JavaFX UI controls for over five years now, so it is hard for me to gauge whether the book is detailed enough for people newer to the subject. My gut feeling is that the book could do with more text to describe concepts, but in general I think most readers should be able to follow along without a problem. In reading the book I made a few notes that I have also passed on to Hendrik, to help improve future editions of the book (which I hope there are as JavaFX API evolves quite rapidly).

The early chapters of the book give a good introduction to the basics of JavaFX. The middle section gives a good overview of the existing JavaFX UI controls, as well as interesting topics such as Swing and SWT integration, and styling UI controls. Unfortunately, whilst the first two sections feel like they go at a good pace, the final section of the book seems to be over too quickly – there is only one chapter on creating custom controls, which is unfortunate given the subtitle of the book is “Create Custom JavaFX Controls for Cross-Platform Applications”. It would be nice to see the final section of the book expanded to fill multiple chapters in future editions – this way it could feel less cramped and the book could easily become the go-to reference for how to create custom controls.

One nice aspect of the book is the interviews with members of the community (including myself). I enjoyed reading the interviews, but I wished for more and for them to be longer! 🙂 There are a lot of interesting members of the community who can provide a bunch of detailed insight and explanations, so I hope future editions expand on the interviews.

Overall I think that this is a great book for people interested in working with JavaFX UI controls, and shows great promise for future editions if some of the kinks above are worked out. Despite my negative points, I recommend this book to people who are serious about wanting to get to know JavaFX UI controls in greater depth.

Hi there. Thanks for taking the time to do this quick interview. Can you please introduce yourself?
I am Johan Vos, a Java Champion working with Java on the server (Java EE) and Java on the client (JavaFX). I am the lead author of Pro JavaFX 8, co-founder of DataFX, and maintainer of the JavaFX Android port.

Is this your first time presenting at JavaOne, or are you a JavaOne veteran?
Between 1999 and now, I only missed one JavaOne edition that overlapped with the birth of my daughter.

What are you going to talk about at JavaOne?
I have 2 sessions this year: CON1804 about JavaFX Android and CON3640 about DataFX. In CON1804, we will show how to run your JavaFX Applications on Android devices. The target area of JavaFX developers becomes much, much larger now that you can also deploy JavaFX Applications on Android devices. The porting effort is a work in progress, we will show the current status and our roadmap plans.

In CON3640, we will talk about how to get real-world enterprise Data in your applications and back to the original source, and how to handle the flow in a complex application. JavaFX provides a powerful UI for developing Java Client applications, and DataFX extends this by adding features required for developing Enterprise Applications that can be used on Desktop, mobile and embedded.

Do you have any big announcements or releases planned leading up to (or at) JavaOne? Can you give any hints?
I realize people come from all over the world, and spend time and money on the JavaOne conference. They deserve more than just a tutorial. For those interested in Java on mobile devices, I’m doing my best to make it an exciting conference.

Is there anything else you’d like to discuss?
Make sure you go to JavaOne. It is the biggest Java Community conference. There is a reason why I try to attend every single year. There is so much information, so much discussions, and your head will be filled with ideas by the end of the week. If you’re a Java developer, JavaOne is the place to be. Oh, and we should go back to the Moscone conference center one day. The more people attending JavaOne, the higher the chances we will take the Moscone back.

Hi there. Thanks for taking the time to do this quick interview. Can you please introduce yourself? Hi, I am Carl Dea. I want to first thank you and the other JavaFX teams at Oracle for not only building a great graphics toolkit but helping grow the JavaFX community. I work for Objective Solutions Inc. as a software engineer & UI developer by day and an avid JavaFX enthusiast by night. I and others (Gerrit Grunwald, Mark Heckler, Jose Pereda and Sean Philips) have recently finished authoring the book titled ‘JavaFX 8 Introduction by Example‘ by Apress publishing.

What was your goal in writing the book?
The book is the second edition of the JavaFX 2.0 Intro by Example book. JavaFX 8 Introduction by Example aims at providing easy to follow examples while introducing new features in JavaFX 8 and learning the new Java 8 language features. Of course given the huge feature set of JavaFX 8 and Java 8 language features the book couldn’t cover everything. But hopefully, this will allow readers to quickly get up to speed and begin to build rich client-side applications in JavaFX.

Is this your first time presenting at JavaOne, or are you a JavaOne veteran?Yes, this is my first time speaking at JavaOne. So, hopefully everything goes as planned. Not to jump the subject but I am reminded of a a funny comic strip depicting what could go wrong during a presentation:

What are you going to talk about at JavaOne? I’ve been working on a talk for JavaOne regarding a live editor tool for developers to quickly prototype JavaFX UIs and visualizations. The session is titled JavaFX Coding Playground (JavaFX-Based Live Editor Tool). The tool will allow developers to execute code without the need of compiling Java code by using the new JavaScript engine Nashorn in JDK 8. In the session attendees will learn how to code UIs with JavaScript, FXML, JavaFX CSS styling. Also, they will learn how to use external libraries such as JFXtras, Enzo and your open source project that you started called ControlsFX.

Do you have any big announcements or releases planned leading up to (or at) JavaOne? Can you give any hints?
The JavaFX Coding Playground (Live editor) tool to be demonstrated in the talk FX Playground will soon be open sourced and should be available before the talk (end of Sept.). The public will get a chance to perform a git clone to download the source code to be built and executed. Binary distributions will come later.

Is there anything else you’d like to discuss?
Yes,

I wanted to also point out that FX Playground’s features that I mentioned earlier doesn’t stop there! It has new support for many other languages (not just JavaScript (Nashorn)).

What are all languages that you currently support?
JavaScript (Nashorn), Groovy, GroovyFX, Python (Jython), Ruby (JRuby), Clojure, and Scala.

Why are you supporting so many languages?
I realized something about the software programming world is that it is made up of people with different backgrounds (programming languages). Having these different backgrounds I often sense programmers tend to be more comfortable with certain languages than others (dogma). So, given that these popular languages sit on top of the JVM (based on JSR 223) the developer can access and reap all the benefits of the JavaFX APIs. Therefore, anyone proficient in any of the languages mentioned above will be able to quickly prototype user interfaces, animations or any other type of visualization using JavaFX.

Thanks for taking time out of your day to answer these questions! All the best for your JavaOne talks!
Thank you Jonathan. It was my pleasure. I wish you the best on your talks also!