A software developer's public collection of tips and tricks, real-world solutions, and industry commentary related to Java programming.
After another tasty breakfast at Honey Honey Cafe & Crepery, I attended my initial Wednesday session, again in the Hilton (Imperial Ballroom A). The presentation was "Griffon, Up Close and Personal" and the presenters were Ix-chel Ruiz (@ixchelruiz) and Andres Almiray (@aalmiray). Their presentation was largely editing Griffon/Groovy code and running Griffon scripts and commands and conversing about Griffon's features. The presentation slides that were shown were shown before the actual presentation even started.
As we were waiting for the presentation to begin, there was a set of rotating slides appearing on screen touting the virtues and characteristics of Griffon. One of these pre-presentation slides was titled "Advantages" and listed convention over configuration, command line tools, IDE integration, out-of-the-box test support, and plug-in platform.
Another pre-presentation slide, titled "Features," listed application lifecycle, binding, threading, resource injection, and internationalization. The "Profile" pre-presentation slide listed Version 1.1.0; 174 plugins; toolkits of Swing, JavaFX, and SWT; and languages of Groovy, Java, Scala, Clojure, Jython, Kotlin, Mirah, Erlang.
During the course of this session, several useful online resources were mentioned. These included the main Griffon page, the sample application code for this presentation, the Griffon Guide, the Griffon Artifact Portal (described here), and the Griffon Plugins page.
Almiray showed creating
GRIFFON_HOME environmental variable and adding it to the path. He showed used of
griffon --version to see basics of Griffon installation and commented that this information can be helpful when asking questions on forums or issuing bug reports.
Almiray said that Intellij and NetBeans have support for Griffon, but an Eclipse plugin still needs to be developed based on the Grails plugin. Griffon is often described as Grails for the Desktop (Swing) and it certainly has the feel of Rails and Grails. For example, Almiray showed running the script to create a new application's scaffolding.
The presenters showed off some of Griffon's nicest features (not coincidentally, the features listed in their pre-presentation slides). They especially emphasized convention over configuration and internationalization capabilities of Griffon. When they spoke about plugins, they showed use of the command (on the command line)
griffon list-plugins to see a list of available plugins. They followed this with a command to get more details on a specific plugin of interest (
griffon plugin-info [name] [version] --repository=<repositoryName>).
Griffon supports Swing, but it also supports JavaFX and SWT. Almiray showed installation of the JavaFX plugin for Griffon.
The only slides in this presentation were the pre-presentation slides that automatically transitioned from one slide to another on a loop and the closing "Thank You!" slide. The rest of the presentation was scripted conversation between the two presenters and live demonstrations built prepared code plus some dynamically typed in code and scripts. The downside to this approach is that the slides, when made available, won't be very useful.
I had some basic familiarity with Griffon coming into this presentation, but it was nice to fill in some "holes" in my knowledge by attending this introduction to Griffon. Although there were only about 25 people in attendance at this session, the fact that a very small number (1 or 2) left early indicates that those who were in attendance were getting what they sought from the presentation. There were a couple presentations I attended yesterday that started with much larger groups, but ended up with much smaller groups as droves of people headed for the doors early.
The photograph featured in this post was taken in Muir Woods National Monument shortly before the JavaOne 2012 conference began.
Original posting available at http://marxsoftware.blogspot.com/ (Inspired by Actual Events)