Skip to content

michael-simons/bikingFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bikingFX

Abstract

This is a little companion project for biking2, which is live right at biking.michael-simons.eu. It uses the same API the AngularJS frontend uses, but for a JavaFX 8 / Java 8 application which was created from scratch after seeing several very interesting JavaFX sessions at JavaOne 2014.

The source code is presented as is, the application maybe has no real use for other people than me, but I think it shows some of things that are possible with and very easy to create with JavaFX.

This application is modularized for a time after JDK 8 and uses the "bach" build tool. It is included with the source code. All you have to do is bring JDK 16.

.bach/bin/bach clean build # Compile, test and packages the application
.bach/bin/bach info # prints out information about the build  
.bach/bin/bach --help # prints out a help what you can do with bach

bach orchestrates tools that are available in the JDK by default.

bach lives in .bach and it uses plain Java modules to describe the build. This is the one applied here: .bach/bach.info/module-info.java

I put the tools I want to use in bachs include list:

  • javac compiles Java sources
  • jar packages up all kinds of things (class files, resources etc.)
  • jlink creates a customized runtime image (this application and a VM)
  • jpackage creates an host specific executable from the above image as well as an installer.

junit sticks out, as it is not a JDK tool but another module that is used via Java's ToolProvider. "What?" I hear you saying, JUnit is a library? Yes, but it also comes with a console runner implementing ToolProvider and thus being usable by bach.

The blog post describing that project and part of the application got a little bit out of hand, it has become kind of epic, at least it's proportions:

"Getting started with JavaFX 8: Developing a REST client application from scratch"