/griffon

Next generation desktop application development platform for the JVM

Primary LanguageJavaApache License 2.0Apache-2.0

Griffon

Build Status (travis) Build Status (appveyor)" Coverage Status (coveralls) Coverage Status (codecov)

Technical Debt Dependency Status

Download Download

Apache License 2 2018 griffon donations Patreon f96854


Griffon is desktop application development platform for the JVM. Inspired by Grails, Griffon leverages concepts like Convention over Configuration, modularity, and freedom of choice. The framework at its core is written 100% in Java allowing developers to write their own applications with only Java. Other programming languages such as Groovy and Kotlin may be used too, in which case additional capabilities such as builders and extension methods become available.

Griffon supports 4 different UI toolkits: Swing, JavaFX, Apache Pivot, and Lanterna.

Griffon encourages the use of the MVC pattern but it’s not limited to a single interpretation, you can for example apply standard MVC, MVP, MVVM, PMVC and others (see tutorial #5). Griffon also follows in the spirit of the Swing Application Framework (JSR 296), it defines a simple yet powerful application life cycle and event publishing mechanism regardless of the UI toolkit of choice.

Seasoned Java developers should be able to pick up the pace quickly, as the framework relieves them from the burden of maintaining an application structure, allowing them to concentrate on getting the code right.

The Griffon framework provides the following features:

  • Well-defined application lifecycle.

  • MVC components plus lifecycle.

  • Common application structure.

  • Dependency injection via JSR-330.

  • Resource injection.

  • Internationalization support.

  • Lightweight event bus.

  • Centralized error handling.

  • Extensible via plugins.

  • Extremely configurable.

  • Language choices. Java, Groovy, Kotlin.

  • UI choices: Swing, JavaFX, Apache Pivot, and Lanterna.