Griffon rises once more - No Fluff Just Stuff

Griffon rises once more

Posted by: Andres Almiray on March 6, 2010

The Griffon team is very pleased to announce that Griffon 0.3 has been released!. This release is loaded with new features, plus a good number of bug fixes. Here's a quick tour on what 0.3 has to offer:

Addon enhancements

As you may know, addons are Griffon's runtime plugins; you can use them to extend the capabilities of an application. Addons were introduced in 0.2 however they only exposed a small set of hooks (factories, methods, props) plus their own life cycle hooks. Starting form this release addons are able to contribute application event listeners and all types of delegates that a FactoryBuilderSupport builder can handle.

Native libraries support

What do you do if your application requires a platform specific library or jar? What if you need to package several of those depending on which platform you intend to run on? What about plugins and native libraries? Well all these questions and more can now be solved by following a file placement convention that can save you lots of time. Supported platforms at the moment include: Windows, Linux, OSX and Solaris (all 32bit versions).

Packaging enhancements

Closely related to native libraries support, you're now able to specify additional settings and resources that can merged into the generated JNLP files when running on webstart and applet modes. No need to manually fumble with those files anymore. Plugins can take advantage of this feature too.

Artifacts API

Since the beginning Griffon has had basic artifacts (Model, View, Controller) but there was no easy way to query them for additional info. This is precisely what the artifacts API does for you now. Additional artifact types may be added an listed when calling 'griffon stats'. this API is further enhanced by the artifacts-plugin.

Lightweight services

Griffon 0.3 introduces services support. Services in Griffon differ from their Grails counterparts as they are not transactional. The Griffon runtime will inject an instance of a particular service to other artifatcs following a simple naming convention; this is not a replacement for a full DI solution but gets the job done without installing additional plugins.

Threading additions

While SwingBuilder's edt{}, doLater{} and doOutside{} are very handy they only work if the current toolkit is Swing. Griffon supports other toolkits via plugins (SWT, Pivot, Gtk, and JavaFX) so it makes sense to have generic threading facilities that can work with any toolkit. This is precisely what UIThreadHelper does.

In addition to this features, a new set of plugins is available too; check'em out
  • artifacts - further enhancements to the artifacts API. distributed as a plugin to keep core's dependency count low.
  • i18n - message i18n support using Spring's MessageSources.
  • erlang - support for making RPC calls to Erlang servers using Erlang's JInterface.
  • flyingsaucer - an XHTML renderer component.
  • processing - make 2D/3D renders and animations with the Processing Programming language and Griffon.
  • serial - serial port communication libraries.
  • thrift - Apache Thrift support (another serialization option).
  • jmx - a straight port of the Grails JMX plugin, originally created by Ken Sipe.
  • p6spy - another Grails plugin port.
Speaking of toolkits the following plugins have become available too:
  • swt - relies on SWTBuilder.
  • pivot - brand new UI Toolkit from VMWare labs, donated to Apache.
  • gtk - GNOME integration via java-gnome.
Griffon couldn't stay behind the recent NoSQL movement: Other existing plugins have been updated, perhaps most notably Spring, GSQL and builder plugins.

Let us know what your impressions are of these new features and tools. We would also appreciate if you let us know if Griffon has been of use to you and how. Feedback is welcome always.

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 »