Griffon (framework)
   HOME

TheInfoList



OR:

Griffon is an open source
rich client platform The rich client platform (RCP) is a programmer tool that makes it easier to integrate independent software components, where most of the data processing occurs on the client side. Overview RCP is a software consisting of the following components ...
framework which uses the
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
Apache Groovy Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk. It can be used as both a programming lan ...
, 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 * Java Swing *
JavaFX JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linu ...
*
Apache Pivot Apache Pivot is an open-source platform for building rich web applications in Java or any JVM-compatible language. It is released under the Apache License version 2.0. Architecture Its classes are divided in the following categories: * Core cl ...
* Lanterna


Overview

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 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 : * Greet, a Groovy Twitter client featured in the JavaOne 2009 Script Bowl, * FontPicker, an application to view the available fonts on one's machine, * SwingPad, a lightweight designer application for Griffon user interfaces.


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 * Polyglot Programming with
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
Apache Groovy Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk. It can be used as both a programming lan ...
, Kotlin. * SQL and
NoSQL A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
datastores like Berkleydb, CouchDB, Db4O, Neo4j, NeoDatis, Memcached and Riak.


Publications


Books

Features that would eventually become integral parts of Griffon (UI builders) were featured in these books: * Groovy In Action (published by Manning) * Beginning Groovy and Grails Books that cover Griffon: * Griffon In Action (published by Manning) * Beginning Groovy, Grails and Griffon


Magazine

* GroovyMag for Groovy and Grails developers


See also

*
Agile software development In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...


References

* Article by Guillaume Laforge (Project Lead of the Groovy Language)
Griffon shows its claws: Grails-like rich Swing client framework released
* Articles by the Griffon team
Revisiting the hidden threading ruleGriffon takes flight
* Article by a technical writer in the
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
Docs team at
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...

Notes on Converting NetBeans Grails Support to NetBeans Griffon SupportThe 5 Best Things About Griffon Griffon: Identifying the Dark Underbelly of Java
{{Refend


External links


Griffon Home Page
Programming tools Java platform