Enterprise Griffon

Post on 11-Nov-2014

1.893 views 2 download

Tags:

description

Presented on

Transcript of Enterprise Griffon

Enterprise Griffon

James WilliamsSoftware 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

LinksBlog: http://jameswilliams.be/blog

Twitter: @ecspike@theaviary (Griffon News)

Griffon: http://griffon.codehaus.org