Griffon (framework)

Griffon
Original author(s) Danno Ferrin, Andres Almiray, James Williams
Initial release September 10, 2008
Stable release 2.2.0 / March 1, 2015
Written in Groovy
Operating system Cross-platform
Platform Cross-platform (JVM)
Available in English
Type Rich Client Platform
License Apache License 2.0
Website new.griffon-framework.org

Griffon is an open source rich client platform framework which uses the Groovy programming language (which is in turn based on the Java platform). 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. A significant portion of the build environment is directly derived from the Grails codebase and hence follows many of its conventions.

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.

Overview

Griffon aims to reduce the typical confusion that occurs with traditional Swing 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:

griffon create-app <APP_NAME>

The generated project follows this structure:

%PROJECT_HOME%
    + griffon-app
       + conf                 ---> location of configuration artifacts like builder configuration
           + keys                   ---> keys for code signing
           + webstart               ---> webstart and applet config
       + 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
   + lib
   + scripts                  ---> scripts
   + 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.

Griffon’s built-in scripts include targets for desktop, webstart, and applets. The baseline requirement is Java 5 or higher.

In the first release, three sample applications are included :

Plugins

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

Documentation

Official manual

The Griffon Guide is the official manual of the Griffon framework. It describes all that a developer needs to know to get started, including a reference to all properties and method additions.

Books

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

Books that cover Griffon:

Magazine

Refcard

Dzone published a Getting started with Griffon Refcard as part of their Refcardz program.

Screencasts

Todd Costella produced a series of screencasts dubbed Griffoncast that show how to get started with Griffon.

Twitter

News, links and announcements of new releases and features are regularly posted on Twitter (@theaviary).

See also

External links