Enterprise Griffon
      James Williams
Software Engineer, BT/Ribbit
Agenda
•Basic Griffon Overview
•Griffon's Plugin Architecture
•MDI
•Beyond SwingBuilder
•Notifications
•Databases
•Printing
•Deployment
If you missed the last
      session...
Boo!!!
Griffon Basics
•Apache 2 Licensed
•Inspired by Grails and SAF
•Desktop framework for the Java
platform
•Extensible through plugins and
addons
Griffon Basics
•UIs done right
•Composite UI builder can mix and
match components
•Common structure for all apps
•Embraces MVC design
Plugins
•Provide compile-time features
•Directory structure is the same as
applications
•UI toolkits
•Testing frameworks
•Data services (db/web)
•Addons
Addons
•Supply run-time capabilities
•Can decorate core features and
components
Distributing Your Plugins
â—Ź griffon package-plugin
  â—Ź Creates docs and zips the plugin

â—Ź griffon release-plugin

  â—Ź Packages plugin and checks it into


    the griffon repo
Creating A Plugin
      Demo
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
Beyond SwingBuilder
SwingXBuilder
•Provides a builder for the
SwingLabs components
•The easiest way to give your apps
some bling
•Well supported when it comes to
theming
MacWidgetsBuilder
•OS X Java UI widgets
•cross-platform
•over 10 components
MacWidgetsBuilder
Demo
Notifications
Notifications
â—Ź   Griffon (and Java)
    â—Ź can use the system tray

    â—Ź intercept webhook notifications

    â—Ź can use Growl
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
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
Growl
•Slightly messy
•Ubuntu and OS X work natively
•Windows needs an additional
install
•No plugin available at this time
Demo
Databases
•Rich database support
•GSQL
•MongoDB
•Neo4J
•CouchDB
•and several others
Printing
•Printing plugin simplifies printing for
   •TXT
   •RTF
   •HTML
   •and PDF files
•Markup Builder + PDFRenderer for
complex layouts
•Some CSS layout support
Deployment
â—Ź Apps can be deployed as
  â—Ź applets

  â—Ź desktop

  â—Ź webstart

â—Ź Some important considerations

  â—Ź Non-swing UIs

  â—Ź Sandbox issues
Installer Plugin
•Creates app launchers for all major
operating systems
•Creates platform specific installers
•Can be extended to conditionally
include assets
Demo
Plugins mentioned
â—Ź rest
â—Ź tray-builder

â—Ź installer

â—Ź printing

â—Ź swingx-builder

â—Ź macwidgets-builder
Links
Blog: http://jameswilliams.be/blog

Twitter: @ecspike
@theaviary (Griffon News)

Griffon: http://griffon.codehaus.org

Enterprise Griffon