Skip to content
This repository has been archived by the owner on Jan 3, 2020. It is now read-only.
/ standbein Public archive

Lightweight application framework based on the idnadrev application

Notifications You must be signed in to change notification settings

krampenschiesser/standbein

Repository files navigation

Standbein Readme

About

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)

Testing/using

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

Features

  • 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

Examples

Documentation

About

Lightweight application framework based on the idnadrev application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages