Soaring Griffons - No Fluff Just Stuff

Soaring Griffons

Posted by: Andres Almiray on January 8, 2010

The Griffon team has just released versions 0.2.1 and 03-BETA-1 of the Griffon framework!

While there are no new features on 0.2.1 there are plenty of goodies in 0.3-BETA-1, first and foremost it comes with Groovy 1.7 (btw that link has become the most voted of all time at dzone.com!). Anonymous inner class support, power asserts, speed improvements and plenty of fixes should make your Griffon apps more robust and run a bit faster.

Next we find improvements in the build system, particularly on packaging options for applet and webstart modes. It should be easier now to tweak JNLP files programmatically, even by plugins. Another interesting feature is the initial support for native libraries and platform dependent archives. This has opened the door for alternatives UI toolkits to be used with Griffon and other useful plugins like JOGL and LWJGL for example.

Switching to runtime improvements we find that services are now supported out of the box, and that they will be automatically injected into runtime artifacts following a simple property name matching convention. It goes without saying that the injection facilities are really, really simple; they're not a substitute for a full blown DI solution (like Spring or Guice) but they get the job done. Addons have been improved as well.

A new API can be found in ArtifactManager and its helpers. This API fills the void of finding out what type of artifacts an application contains (like Models and Services) and be able to apply metaprogramming on them at any time. The behavior provided by this API is similar to the one found in Grails. Another new API on this release is the UIThreadHelper, an abstraction over SwingBuilder's threading facilities; which turns Griffon core into an UI toolkit agnostic runtime.

Several plugins releases haven been synchronized with 0.3-BETA-1, perhaps the most notable is the Spring plugin. It leverages Grails's BeanBuilder to wire up your beans; it also allows other addons to contribute Spring beans, not just your applications. The full list of plugin releases follows:
  • Spring 0.1 - new! we've already talk about this one ;-)
  • CssBuilder 0.4 - fixes a bug when parsing hex color strings.
  • JOGL 0.1 - new! OpenGL bindings for Java.
  • LWJGL 0.1 - new! 3D game library.
  • NASA WorldWind 0.1 - new! put a 3D world on your application!
  • GSQL 0.2 - promoted to full addon. Also fixes a problem when initializing a schema when the chosen database is not HSQLDB.
Now for those that like to live on the bleeding edge, here is how you can try out the alternative toolkits, just follow these steps:
  • Grab a copy of Griffon's trunk using git, repo is at git://git.codehaus.org/griffon-git.git.
  • Make sure you have $GRIFFON_HOME configured. Also make sure you back up any contents it may have as the next step will overwrite them.
  • Build and install griffon by typing ant install.
  • Grab a copy of the chosen toolkit form svn: SWT, Pivot, Gtk. (warning: not all Pivot and Gtk nodes have been fully tested, some may break!)
  • Build the plugin by typing griffon package-plugin -nodoc. The -nodoc flag makes this task run faster as it skips generating api docs. It is mandatory in the case of the Gtk plugin as it will attempt to load a native library but the proper plumbing is not yet in place (I did mention this is the bleeding edge, didn't I?)
  • All that is left to do is create an application, install the plugin and play with it :-)
We'd love to have your feedback on the beta release, please drop by our mailing lists and meet other people interested in Griffon, thank you!

Keep on Groovying!
Andres Almiray

About Andres Almiray

Andres is a Java/Groovy developer and a Java Champion with more than 20 years of experience in software design and development. He has been involved in web and desktop application development since the early days of Java. Andres is a true believer in open source and has participated on popular projects like Groovy, Griffon, and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member of the Griffon framework and Hackergarten community event. https://ch.linkedin.com/in/aalmiray

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »