Standbein is a lightweight wrapper around JavaFx to provide a starting point for small rich client applications. The main goals are:
-
Use dependency injection (via Guice)
-
Split the application into small parts, so called Activities, that are disconnected from each other
-
Control the lifecycle and threads of activities
-
Give the user as much freedom as possible to use or not use the given features (and therefore provide only the essential stuff)
Currently the standbein library is still in development. Must of its api is in use since over a year and is considered quite stable. However I still want to have the possibility to simplify and refactor stuff.
Therefore it is not yet in any maven repository and you have to install it into your local repository:
$ ./gradlew publishToMavenLocal
This command will install it in you local maven repository: ~/.m2
-
Service infrastructure: to initialize your infrastructure at startup time (eg. start embedded db, hibernate, weld whatever)
-
Version upgrade detection: register upgrade from one version to another that are executed on the client (change ddl, extract zipfiles of data)
-
Lifecycle control via activities (see below)
-
slight preferation(or maybe even enforcement) of MVC style programming, but you are not bound to
-
Eventbus: send event from any class to your controllers (or who ever is listening) …decouple…
-
Validation: simple validation framework
-
Localization: define your base localisation properties. Additionally define controller local property files (to avoid the messy 10000+ line files)
-
Designed to use dependency injection as much as possible (This is still a UI framework and it depends on JavaFX which hates testability and DI)
-
Binding: bind labels or textfields (or whatever your stringconverter can handle) to a model property
-
Predefined refresh handling: If needed you can implement your own datasource which will be loaded on entry of an activity
For a look at examples see https://github.com/krampenschiesser/standbein-sample.
See Standbein wiki