Griffon is a Grails like application framework for developing desktop applications in Groovy. Inspired by Grails, Griffon follows the Convention over Configuration paradigm, paired with an intuitive MVC architecture and a command line interface. Griffon also follows the spirit of the Swing Application Framework (JSR 296), it defines a simple yet powerful application life cycle and event publishing mechanism. Another interesting feature comes from the Groovy language itself: automatic property support and property binding (inspired by BeansBinding (JSR 295)), which makes creating observable beans and binding to their properties a snap! As if property binding was not enough Groovy's SwingBuilder also simplifies building multi-threaded applications, say goodbye to the ugly gray rectangle (the bane of Swing apps)!
Grails developers should feel right at home when trying out Griffon. Many of Grails' conventions and commands are shared with Griffon. Granted, Swing is not the same as HTML/GSP but Builders simplify the task of creating the UI.
Seasoned Java developers will also be able to pick up the pace quickly, as the framework relieves you of the burden of maintaining an application structure, allowing you to concentrate on getting the code right.
easyb is a behavior driven development framework for the Java platform. By using a specification based Domain Specific Language, easyb aims to enable executable, yet readable documentation.
Behavior driven development?
Behavior driven development (or BDD) isn't anything new or revolutionary-- it's just an evolutionary offshoot of test driven development, in which the word test is replaced by the word should. Semantics aside, a lot of people have found that the concept of should is a much more natural development driver than the concept of testing. In fact, when you think in terms of behavior (i.e. shoulds) you'll find that writing specifications is easier to do first, which is the intent of test driven development in the first place.
Gracelets is a view/controller technology layered on top of Facelets/JSF. It complements the Facelets templating technology by allowing Groovy scripts to replace or be used in connection with normal Facelets source files and views.
The name came from combining the Gr in Groovy and replacing the F in Facelets with Gr, Groovy Facelets, or Gracelets (yeah, a no-brainer).
One of the inspirations behind Gracelets was the desire to use Groovy scripts, which have many practical applications for many java developers these days, and yet have all the power of Facelets and JSF behind the groovy script. Another inspiration was to at least have the option to develop quick solutions in a single file. Of course the Model-View-Controller concept is marvillous and it is important to keep things seperate, which can also be easily done with Gracelets. But sometimes it is nice not to be forced to do so just to prototype or develop some quick solution that one wants or needs, and Gracelets gives you that option. In other words, Gracelets works fine as simply a view technology in the MVC flow, but also allows you to do more in a single script if you so desire.
The main goal of Gracelets is to complement Facelets and provide more options, flexibility and efficiency to Facelets and JSF users and component developers. Since you can still use normal Facelet XHTML views and everything else you already have invested in JSF/Facelets, you are not forced to use Gracelets even though it is installed/configured. Thus you can choose exactly where you want to use Groovy Facelets/Gracelets in your application. Even inside Gracelet scripts, you can still access the full component/tag set already available in JSF/Facelets. Some of the possible practical uses of Gracelets could be (but is not limited to) the following: