Flying with Griffon @ CONFESS

18
Click to edit Master /tle style Flying with Griffon

Transcript of Flying with Griffon @ CONFESS

Click  to  edit  Master  /tle  style  

Flying  with  Griffon  

Click  to  edit  Master  /tle  style  About  the  Speaker  

•  Java  developer  since  the  beginning  •  True  believer  in  Open  Source  •  Groovy  commi@er  since  2007  

•  Project  lead  of  the  Griffon  framework  •  Currently  working  for    

Click  to  edit  Master  /tle  style  I  confess…  

<j:jelly  xmlns:j="jelly:core"                    xmlns:define="jelly:define"                    xmlns:my="myTagLib">    <define:taglib  uri="myTagLib">            <define:jellybean  name="foo"  className="MyTask"/>    </define:taglib>    Now  lets  use  the  new  tag    <my:foo  x="2"  y="cheese"/>    

</j:jelly>  

Click  to  edit  Master  /tle  style  Relevant  Facts  

•  h@p://griffon.codehaus.org  •  Apache  License  2.0  •  1st  release  (0.0)  -­‐  Sept  10  2008  

–  Based  in  Grails  1.1  •  Latest  release  (0.9.2)  –  Mar  21  2011  •  140  plugins  in  the  central  plugins  repository  

–  More  are  added  every  week  

Click  to  edit  Master  /tle  style  Grails-­‐like  Features  

•  Common  applica/on  structure  

•  Command  line  tools  •  Conven/on  over  Configura/on  •  DRY  •  Test  support  out-­‐of-­‐the  box  

Click  to  edit  Master  /tle  style  Exclusive  Features  (1)  

•  MVC  pa@ern  is  found  at  several  levels  

•  Applica/on  life  cycle  •  Simple  event  bus  

•  Clear  separa/on  between  build/me  and  run/me  •  Mul/-­‐threading  support  

•  AST  injec/on  

Click  to  edit  Master  /tle  style  Exclusive  Features    (2)  

•  Ar/facts  can  be  wri@en  in  several  languages  –  Groovy,  Java,  Scala  

•  Applica/on  archetypes  –  Bootstrap  an  applica/on  with  predefined  templates  

•  Griffonw  –  Allows  you  to  work  with  Griffon  without  installing  it  first  –  Inspired  by  Gradle  

Click  to  edit  Master  /tle  style  Exclusive  Features  (3)  

•  Mul/  language  support  –  Groovy,  Java  –  Clojure,  Scala,  Jython,  Erlang  (via  plugins)  

•  Mul/  UI  toolkit  support  –  Swing  –  SWT,  Pivot,  GTK,  JavaFX  (via  plugins)  

Click  to  edit  Master  /tle  style  Build/me  

•  3  development  modes  –  Applet,  Webstart,  Standalone  

•  4  deployment  modes  –  applet,  webstart,  zip,  jar    –  izpack,  dmg,  rpm,  deb  (via  plugins)  

•  Built-­‐in  na/ve  library  support  •  Plajorm  specific  tweaks  available  (OSX)  

Click  to  edit  Master  /tle  style  Binding  

•  Extensive  use  of  JavaBeans  property  change  events  •  3  types  of  bindings  

–  Full,  Contextual,  Short  •  2  binding  flavors  

–  Single,  Bidirec/onal  

Click  to  edit  Master  /tle  style  Run/me  

•  Introspec/on  capabili/es  –  Configura/on  –  MVC  groups  

–  Ar/facts  –  Addons  –  Metadata  (Metadata,  Environment,  RunMode)  

Click  to  edit  Master  /tle  style  Demo  

Click  to  edit  Master  /tle  style  More  Informa/on  

•  h@p://griffon.codehaus.org/Documenta/on  –  The  Griffon  Guide  (+javadoc)  –  Builder  Guide  –  Plugin  List  

•  h@p://griffoncast.com  •  twi@er:  @theaviary  

Click  to  edit  Master  /tle  style  

Click  to  edit  Master  /tle  style  Griffon  in  Ac/on  

Click  to  edit  Master  /tle  style  

Q  &  A  

Click  to  edit  Master  /tle  style  

h@p://people.canoo.com/share  

Click  to  edit  Master  /tle  style  

Thank  you!  

@aalmiray