Date post: | 11-Nov-2014 |
Category: |
Documents |
Upload: | james-williams |
View: | 1,891 times |
Download: | 2 times |
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