What is Griffon
Griffon is an application framework for developing desktop applications in the JVM, with Groovy being the primary language of choice. Inspired by Grails, Griffon follows the Convention over Configuration paradigm, paired with an intuitive MVC architecture and a command line interface. Griffon also follows the spirit of the Swing Application Framework (JSR 296), it defines a simple yet powerful application life cycle and event publishing mechanism. Another interesting feature comes from the Groovy language itself: automatic property support and property binding (inspired by BeansBinding (JSR 295)), which makes creating observable beans and binding to their properties a snap! As if property binding was not enough Groovy's SwingBuilder also simplifies building multi-threaded applications, say goodbye to the ugly gray rectangle (the bane of Swing apps)!
Grails developers should feel right at home when trying out Griffon. Many of Grails' conventions and commands are shared with Griffon. Granted, Swing is not the same as HTML/GSP but Builders simplify the task of creating the UI.
Seasoned Java developers will also be able to pick up the pace quickly, as the framework relieves you of the burden of maintaining an application structure, allowing you to concentrate on getting the code right.
The Griffon framework is extensible via Plugins. There are many to choose from. For example you'll find plugins for 3rd party Swing components like Swingx, Jide and Macwidgets; persistence related plugins like DataSource, GSQL, Hibernate among others; 3D graphics and animation support is possible via JOGL, LWJGL and Processing. And many more!
Where do I start?
- Download - links to the latest stable release, you can also find previous releases
- Documentation - links to other projects related to Griffon (Builders and Plugins for example) and other documentation sources
Griffon in Action