Finally the first "JavaFX Real World Apps" post that actually covers an "app" and not an "application", meaning the first JavaFX application in this series that was designed for mobile devices and not the desktop. The application is simply called "Monastery Disentis". It was developed by cnlab in Switzerland. It can be used by visitors of the monastery as a guide. Below you can see a couple of screenshots that were taken on an Android device. Video: a screencast of the application. What is cool about this application is that everybody can try it out be following the [...]
I just finished a two month sprint on advancing CalendarFX and getting it ready for release 8.4.0. One focus of this sprint was on performance. There are many things that can influence performance but when it comes to JavaFX the number of nodes in your scenegraph and CSS styling are top candidates for optimisation. After reviewing the custom controls that ship with CalendarFX I realized that many of them used a lot of nested panes (BorderPane, VBox, HBox, GridPane) in order to achieve a specific layout. Nested panes result in a high node count and complex CSS styling instructions. One simple example are [...]
A new entry in the "Real World Applications" series. This time it is SkedPal, an application for managing a busy person's life intelligently. I have been consulting the SkedPal team in matters related to JavaFX and also when they made the decision to start using the CalendarFX framework for their calendar requirements. Below you can see a couple of screenshots of this attractive application. If you want to try it out yourself then you can simply register on the SkedPal website and download the desktop client (they also have mobile clients). I have asked Saied ArBabian, the found of SkedPal to [...]
Carl Dea recently followed up on a blog post of mine called Save Memory! Use Shadow Fields for Properties. In his blog he suggested the use of an interface called "Property Accessor" to eliminate the heavy use of boilerplate code that is needed in order to use shadow fields. Carl also mentioned that he hasn't tested his approach with a lot of data and that he or some reader might follow up with a performance comparison. So here it comes. I wrote a small test application that implements the three strategies that Carl mentions in his post: standard properties that are instantiated [...]
If you are interested you can now see CalendarFX live in action. As of version 1.7 the AI scheduling software SkedPal has replaced their Swing-based calendar (MigCalendar) with CalendarFX 1.3 for JavaFX 8. The result is a much more consistent look and feel and user experience.
Properties and property bindings introduced in Java 8 are extremely useful programming concepts. They are especially useful when you are developing user interfaces. In fact they are so useful that developers have fallen victim to the idea that everything should be a property instead of a primitive. Unfortunately they easily forget that properties such as SimpleLongProperty are much bigger objects than standard types such as Long. And of course they are much bigger than primitive data types such as long. In one of my current projects pretty much every model object used by the client is composed of properties. For many of these [...]
I recently conducted a survey asking the community to tell me which features they are missing the most in JavaFX 8. The survey has been closed by now. It received over 100 submissions from various people, various companies, various industries. Overall the participants very quite satisfied with JavaFX so I would argue that the feedback was submitted by people who really care about the platform and would like to see it evolve over time. The following chart shows the exact distribution of the answers given by the participants when asked how satisfied they were with JavaFX. Categories / Issue [...]
I am happy to announce that there is a new entry for the "Real-World Apps" list. The company PSI has developed an application for "advanced scheduling and monitoring". The software will be used by the manufacturing industry. The screenshots look quite polished and attractive. PSI is one of the earliest adopters of FlexGanttFX, my JavaFX framework for visualizing schedules of any kind. https://youtu.be/hXdvTlca6rM?w=550 PSI - Operation Gantt PSI - Operation Detail PSI - Production Order PSI - Report PSI - Structural Gantt As usual I have done an interview with the developers. Michal [...]