Next generation desktop application development platform for the JVM
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
archetypes Update dependencies Sep 28, 2018
config Update license headers Jan 5, 2018
gradle Update JAR manifest only if 'release' flag is set Sep 29, 2018
samples Update license headers Sep 30, 2018
src Fix artifact metadata attached to JAR Sep 28, 2018
subprojects Fix integration tests for Swing sample apps Sep 30, 2018
templates Update dependencies Sep 28, 2018
tutorials Update dependencies Sep 28, 2018
.bettercodehub.yml Setup bettercodehub properties Jun 22, 2017
.travis.yml Add back travis_wait Sep 30, 2018
LICENSE Add media, icons, logos and more entries to the guide Jan 8, 2014
README.adoc Bump version May 31, 2018
appveyor.yml Tweak appveyor settings Jun 18, 2015
build.gradle Update to jdeps-gradle-plugin 4.0.1 Sep 30, 2018 Update dependencies Sep 28, 2018
settings.gradle Upgrade build to Gradle 4.10 Aug 29, 2018 plugin projects no longer found in core source Jul 3, 2014



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.