3. What Is Griffon?
● Desktop Application Framework
● Takes after Grails
● MVC-based
● Groovy-based
● Vastly simplifies writing Swing-based
applications
4. Why Not Just Use Swing?
● Complex widget hierarchy
● Difficult to separate out business logic from
view logic
● Difficult to properly manage threading
● Difficult to test
● Wouldn’t you rather write Groovy?
5. Getting Started
● gvm install griffon <version>
● set GRIFFON_HOME
● add GRIFFON_HOME/bin to path
● griffon create-app <app name>
● You’re in business!
18. What About Testing?
● GriffonUnitTestCase
● Access to Mock objects
● Integration and Unit testing
● Decidedly lacking in Acceptance Testing
○ FEST Plugin
21. Threading
● Swing uses the “Event Dispatch Thread”
● Makes you write ugly code using
SwingWorker
● Is completely simplified in Griffon!
22. Threading Cont.
● On the EDT:
○ execInsideUISync
○ execInsideUIAsync
● Outside the EDT:
○ execOutsideUI
● isUIThread
● execFuture
23. Eco System
● Griffon still in development
● Documentation is spotty at best, downright
wrong at worst
● Andres is very active
● Griffon team is really responsive
● Tons of plugins (very hit or miss)