Skip to content

Commit

Permalink
Update project description on readme, guide, and site
Browse files Browse the repository at this point in the history
  • Loading branch information
aalmiray committed Sep 26, 2017
1 parent 26b2457 commit f2145c8
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 39 deletions.
54 changes: 32 additions & 22 deletions README.adoc
Expand Up @@ -21,28 +21,38 @@ image:https://img.shields.io/badge/donations-Patreon-f96854.svg[link="https://ww
---

http://griffon-framework.org[Griffon] is desktop application development platform
for the JVM. Inspired by http://grails.org[Grails], Griffon leverages the use of
the http://groovy-lang.org[Groovy] language and concepts like Convention over
Configuration. The Swing toolkit is the default UI toolkit of choice however others
may be used, for example JavaFX.

Griffon encourages the use of the MVC pattern. 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. 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.
for the JVM. Inspired by http://grails.org[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 suchas 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 link:http://griffon-framework.org/tutorials/5_mvc_patterns.html["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.

== Links

Expand Down
20 changes: 20 additions & 0 deletions docs/griffon-guide/src/docs/asciidoc/introduction.adoc
Expand Up @@ -30,4 +30,24 @@ and their sponsor: SpringSource. The Griffon team would like to thank them all
(and the Grails community too!) for making such a great framework and bringing the
fun back to programming applications.

== Background

Griffon's lineage can be traced back to Grails; the first release of the framework was posted on
September 10th 2008. At the time the team concentrated their efforts in making Griffon a lightweight
addition to what SwingBuilder offered. JavaFX was not in the radar at it was still very young and
not ready for prime time as opposed to Swing. Groovy's dynamic features made it very easy for people
to write applications with a concise syntax and a few lines of code.

JavaFX became a viable option as time passed by. Also, Griffon 2.x was revamped to support Java from
the core, not just as an after thought, same for for JavaFX and Dependency Injection. This design goal
enabled the framework to be more flexible in terms of language and UI toolkit choices. It can also
target a broader audience as there's a sizable number of developers that prefer writing Java code
rather than Groovy (or Kotlin).

Many of the examples posted since 2.x came out showcase the usage of Java to entice and convince Java
developers to give it a try. Seasoned Groovy developers know they can adapt the code using idiomatic
Groovy based on their preferences. This Guide continues to show Groovy code for brevity, opting for Java
when it makes sense for a particular feature. The documentation of most Griffon plugins also show both
Groovy and Java examples that can be Copy & Pasted as a starting point.

:numbered:
30 changes: 13 additions & 17 deletions docs/griffon-site/src/jbake/templates/index.gsp
Expand Up @@ -13,32 +13,28 @@

<p><a
href="http://griffon-framework.org/">Griffon</a> is desktop application development platform for the JVM.Inspired by <a
href="http://grails.org/">Grails</a>, Griffon leverages the use of the <a
href="http://groovy-lang.org/">Groovy</a> language and concepts like Convention over
Configuration. The Swing toolkit is the default UI toolkit of choice however others may be used,
for example JavaFX.
href="http://grails.org/">Grails</a>, 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 suchas Groovy and Kotlin may be used too, in
which case additional capabilities such as builders and extension methods become available.
</p>

<p>
Griffon encourages the use of the MVC pattern. 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. 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)!
Griffon supports 4 different UI toolkits: Swing, JavaFX, Apache Pivot, and Lanterna.
</p>

<p>
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.
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.
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.
</p>

<p>
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
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.
</p>

Expand Down

0 comments on commit f2145c8

Please sign in to comment.