contents

foreword
preface
acknowledgments
about this book
about the cover illustration

Part 1 Getting started

Chapter 1 Welcome to the Griffon revolution
Introducing Griffon
Building the GroovyEdit text editor in minutes
Java desktop development: welcome to the jungle
The Griffon approach
Summary
Chapter 2 A closer look at Griffon
A tour of the common application structure
The ABCs of configuration
Using Griffon’s command line
Application life cycle overview
Summary

Part 2 Essential Griffon

Chapter 3 Models and binding
A quick look at models and bindings
Models as communication hubs
Observable beans
Have your people call my people: binding
The secret life of BindingUpdatable
Putting it all together
Summary
Chapter 4 Creating a view
Java Swing for the impatient
Groovy SwingBuilder: streamlined Swing
Anatomy of a Griffon view
Using special nodes
Managing large views
Using screen designers and visual editors
Summary
Chapter 5 Understanding controllers and services
Dissecting a controller
The need for services
Artifact management
Summary
Chapter 6 Understanding MVC groups
Anatomy of an MVC group
Instantiating MVC groups
Using and managing MVC groups
Creating custom artifact templates
Summary
Chapter 7 Multithreaded applications
The bane of Swing development
SwingBuilder alternatives
Multithreaded applications with Griffon
SwingXBuilder and threading support
Putting it all together
Additional threading options
Summary
Chapter 8 Listening to notifications
Working with build events
Working with application events
Your class as an event publisher
Summary
Chapter 9 Testing your application
Griffon testing basics
Not for the faint of heart: UI testing
Testing with Spock and easyb
Metrics and code inspection
Summary
Chapter 10 Ship it!
Understanding the common packaging options
Using Griffon’s standard packaging targets
Using the Installer plugin
Summary
Chapter 11 Working with plugins
Working with plugins
Understanding plugin types
Creating the Tracer plugin and addon
Releasing the Tracer plugin
Summary
Chapter 12 Enhanced looks
Adding new nodes
Builder delegates under the hood
Quick tour of builder extensions in Griffon
Summary
Chapter 13 Griffon in front, Grails in the back
Getting started with Grails
Building the Grails server application
To REST or not
Building the Griffon frontend
Querying the Grails backend
Alternative networking options
Summary
Chapter 14 Productivity tools
Getting set up in popular IDEs
Command-line tools
The Griffon wrapper
Summary

appendix Porting a legacy application
                index