29
Enterprise Griffon James Williams Software Engineer, BT/Ribbit

Enterprise Griffon

Embed Size (px)

DESCRIPTION

Presented on

Citation preview

Page 1: Enterprise Griffon

Enterprise Griffon

James WilliamsSoftware Engineer, BT/Ribbit

Page 2: Enterprise Griffon

Agenda•Basic Griffon Overview•Griffon's Plugin Architecture•MDI•Beyond SwingBuilder•Notifications•Databases•Printing•Deployment

Page 3: Enterprise Griffon

If you missed the last session...

Page 4: Enterprise Griffon

Boo!!!

Page 5: Enterprise Griffon

Griffon Basics•Apache 2 Licensed•Inspired by Grails and SAF•Desktop framework for the Java platform•Extensible through plugins and addons

Page 6: Enterprise Griffon

Griffon Basics•UIs done right•Composite UI builder can mix and match components•Common structure for all apps•Embraces MVC design

Page 7: Enterprise Griffon

Plugins•Provide compile-time features•Directory structure is the same as applications•UI toolkits•Testing frameworks•Data services (db/web)•Addons

Page 8: Enterprise Griffon

Addons•Supply run-time capabilities•Can decorate core features and components

Page 9: Enterprise Griffon

Distributing Your Plugins● griffon package-plugin

● Creates docs and zips the plugin● griffon release-plugin

● Packages plugin and checks it into the griffon repo

Page 10: Enterprise Griffon

Creating A Plugin Demo

Page 11: Enterprise Griffon

Multi-Doc Plugin•Simplifies the process of creating tabbed interfaces•Creates a document state class to manage open and active documents •Creates actions for opening, closing, and saving documents

Page 12: Enterprise Griffon

Beyond SwingBuilder

Page 13: Enterprise Griffon

SwingXBuilder•Provides a builder for the SwingLabs components•The easiest way to give your apps some bling•Well supported when it comes to theming

Page 14: Enterprise Griffon

MacWidgetsBuilder•OS X Java UI widgets•cross-platform•over 10 components

Page 15: Enterprise Griffon

MacWidgetsBuilder

Page 16: Enterprise Griffon

Demo

Page 17: Enterprise Griffon

Notifications

Page 18: Enterprise Griffon

Notifications● Griffon (and Java)

● can use the system tray● intercept webhook notifications● can use Growl

Page 19: Enterprise Griffon

What are Webhooks?● Fluid interface for communication● You already how to use it

● Just send an HTTP POST to a user-provided or generated URL

Page 20: Enterprise Griffon

Notify.io•Users register with Notify.io•They provide their email addy to Notify.io enabled sites•Sites use webhooks to send notifications to their users

Page 21: Enterprise Griffon

Growl•Slightly messy•Ubuntu and OS X work natively•Windows needs an additional install•No plugin available at this time

Page 22: Enterprise Griffon

Demo

Page 23: Enterprise Griffon

Databases•Rich database support•GSQL•MongoDB•Neo4J•CouchDB•and several others

Page 24: Enterprise Griffon

Printing•Printing plugin simplifies printing for •TXT•RTF•HTML•and PDF files

•Markup Builder + PDFRenderer for complex layouts•Some CSS layout support

Page 25: Enterprise Griffon

Deployment● Apps can be deployed as

● applets● desktop● webstart

● Some important considerations● Non-swing UIs ● Sandbox issues

Page 26: Enterprise Griffon

Installer Plugin•Creates app launchers for all major operating systems•Creates platform specific installers•Can be extended to conditionally include assets

Page 27: Enterprise Griffon

Demo

Page 28: Enterprise Griffon

Plugins mentioned● rest● tray-builder● installer● printing● swingx-builder● macwidgets-builder

Page 29: Enterprise Griffon

LinksBlog: http://jameswilliams.be/blog

Twitter: @ecspike@theaviary (Griffon News)

Griffon: http://griffon.codehaus.org