Enterprise Griffon


Published on

Presented on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Enterprise Griffon

  1. 1. Enterprise Griffon James Williams Software Engineer, BT/Ribbit
  2. 2. Agenda •Basic Griffon Overview •Griffon's Plugin Architecture •MDI •Beyond SwingBuilder •Notifications •Databases •Printing •Deployment
  3. 3. If you missed the last session...
  4. 4. Boo!!!
  5. 5. Griffon Basics •Apache 2 Licensed •Inspired by Grails and SAF •Desktop framework for the Java platform •Extensible through plugins and addons
  6. 6. Griffon Basics •UIs done right •Composite UI builder can mix and match components •Common structure for all apps •Embraces MVC design
  7. 7. Plugins •Provide compile-time features •Directory structure is the same as applications •UI toolkits •Testing frameworks •Data services (db/web) •Addons
  8. 8. Addons •Supply run-time capabilities •Can decorate core features and components
  9. 9. Distributing Your Plugins ● griffon package-plugin ● Creates docs and zips the plugin ● griffon release-plugin ● Packages plugin and checks it into the griffon repo
  10. 10. Creating A Plugin Demo
  11. 11. 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
  12. 12. Beyond SwingBuilder
  13. 13. SwingXBuilder •Provides a builder for the SwingLabs components •The easiest way to give your apps some bling •Well supported when it comes to theming
  14. 14. MacWidgetsBuilder •OS X Java UI widgets •cross-platform •over 10 components
  15. 15. MacWidgetsBuilder
  16. 16. Demo
  17. 17. Notifications
  18. 18. Notifications ● Griffon (and Java) ● can use the system tray ● intercept webhook notifications ● can use Growl
  19. 19. 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
  20. 20. 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
  21. 21. Growl •Slightly messy •Ubuntu and OS X work natively •Windows needs an additional install •No plugin available at this time
  22. 22. Demo
  23. 23. Databases •Rich database support •GSQL •MongoDB •Neo4J •CouchDB •and several others
  24. 24. Printing •Printing plugin simplifies printing for •TXT •RTF •HTML •and PDF files •Markup Builder + PDFRenderer for complex layouts •Some CSS layout support
  25. 25. Deployment ● Apps can be deployed as ● applets ● desktop ● webstart ● Some important considerations ● Non-swing UIs ● Sandbox issues
  26. 26. Installer Plugin •Creates app launchers for all major operating systems •Creates platform specific installers •Can be extended to conditionally include assets
  27. 27. Demo
  28. 28. Plugins mentioned ● rest ● tray-builder ● installer ● printing ● swingx-builder ● macwidgets-builder
  29. 29. Links Blog: http://jameswilliams.be/blog Twitter: @ecspike @theaviary (Griffon News) Griffon: http://griffon.codehaus.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.