Griffon at Gateway GUG
-
Upload
matthew-taylor -
Category
Technology
-
view
1.484 -
download
6
description
Transcript of Griffon at Gateway GUG
![Page 1: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/1.jpg)
Griffon... a Grails Developer’s Perspective
![Page 2: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/2.jpg)
Swing + Groovy + Grails
![Page 3: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/3.jpg)
Wait... Swing?
![Page 4: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/4.jpg)
![Page 5: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/5.jpg)
BORDER LAYOUT
BOX LAYOUT
CARD LAYOUT
FLOW LAYOUT
GRID LAYOUT
SPRING LAYOUT
![Page 6: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/6.jpg)
BORDER LAYOUT
BOX LAYOUT
CARD LAYOUT
FLOW LAYOUT
GRID LAYOUT
SPRING LAYOUTEVEN
T MADNESS
THREA
DING HELL
![Page 7: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/7.jpg)
GRIDBAGLAYOUT
![Page 8: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/8.jpg)
GRIDBAGLAYOUT
![Page 9: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/9.jpg)
MVC Triad
VIEW
MODEL
CONTROLLER
bindings
actions
bindings
swing
![Page 10: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/10.jpg)
Bindings
Can bind view components to view components
Model properties can be @Bindable and available from Controller and View
Validation is available within bindings
bind ( source: c1, sourceProperty: ‘text’ target: c2, targetProperty: ‘text’ )
![Page 11: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/11.jpg)
Binding example (view)
def counter = 0application(title:'bindfun', pack:true, locationByPlatform:true) { gridLayout( cols:1, rows:2) button("Click me", id:'b') label(id:'lbl', text: bind( source: b, sourceEvent: 'actionPerformed', sourceValue: { counter++ }, converter: { lbl.text + it} ) )}
![Page 12: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/12.jpg)
MVC Groups
MVC pattern can have a very small footprint
Can be in lots of places
Griffon’s MVC groups allows easy creation and deletion of MVC pattern
griffon create-mvc to create skeleton
createMVCGroup() to instantiate in running app
![Page 13: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/13.jpg)
Image Viewer Demo
![Page 14: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/14.jpg)
Plugins
10+ available
griffon list-plugins
griffon install-plugin myPlugin
Just like Grails
![Page 15: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/15.jpg)
Thoughts
Swing is painful
Griffon is good
Missing documentation (only 0.1)
Great potential for growth
I wish I had this 3 years ago!
![Page 16: Griffon at Gateway GUG](https://reader036.fdocuments.in/reader036/viewer/2022081504/555bfd73d8b42a5b448b5059/html5/thumbnails/16.jpg)
Resources
http://griffon.codehaus.org
http://groovy.codehaus.org/Swing+Builder
http://docs.codehaus.org/display/GRIFFON/FileViewer