This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (February 2014) (Learn how and when to remove this message)
Griffon
Original author(s)Danno Ferrin, Andres Almiray, James Williams
Initial releaseSeptember 10, 2008
Stable release
2.16.0 / December 16, 2021 (2021-12-16)
Written inJava, Groovy
Operating systemCross-platform
PlatformCross-platform (JVM)
Available inEnglish
TypeRich Client Platform
LicenseApache License 2.0
Websitegriffon-framework.org

Griffon is an open source rich client platform framework which uses the Java, Apache Groovy, and/or Kotlin programming languages. Griffon is intended to be a high-productivity framework by rewarding use of the Model-View-Controller paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developer.

The first release is the fruit of the effort by the Groovy Swing team and an attempt to take the best of rapid application development, as indicated by its Grails-like structure, the agility of Groovy, and the availability of components for Swing. The framework was redesign from scratch for version 2, allowing different JVM programming languages to be used either in isolation or in conjunction. Supported UI toolkits are

Overview

[edit]
This article contains instructions, advice, or how-to content. Please help rewrite the content so that it is more encyclopedic or move it to Wikiversity, Wikibooks, or Wikivoyage. (January 2018)

Griffon aims to reduce the typical confusion that occurs with traditional Java UI development. Due to the MVC structure of Griffon, developers never have to go searching for files or be confused on how to start a new project. Everything begins with:

lazybones create <template_name> <APP_NAME>

The generated project follows this structure:

%PROJECT_HOME%
    + griffon-app
       + conf                 ---> location of configuration artifacts like builder configuration
       + controllers          ---> location of controller classes
       + i18n                 ---> location of message bundles for i18n
       + lifecycle            ---> location of lifecycle scripts
       + models               ---> location of model classes
       + resources            ---> location of non code resources (images, etc)
       + views                ---> location of view classes
   + src
       + main                 ---> optional; location for Groovy and Java source files
                                   (of types other than those in griffon-app/*)

The builder infrastructure enables seamless integration of different widget libraries such as Swing, JIDE, and SwingX.

In the first release, three sample applications are included :

Plugins

[edit]

Griffon can be extended with the use of plugins. Plugins provide run-time access to testing libraries such as Easyb and FEST, and all widget libraries besides core Swing are provided as plugins. The plugin system allows for a wide range of additions, for example

Publications

[edit]

Books

[edit]

Features that would eventually become integral parts of Griffon (UI builders) were featured in these books:

Books that cover Griffon:

Magazine

[edit]

See also

[edit]

References

[edit]
[edit]