Moving from Rails to Grails (Differences and Similarities)

Posted by David Estes on Jan 15, 2014

Rails and Grails are both great, powerful frameworks with many core similarities and differing approaches. They both share a strong preference to convention over configuration and they both follow the MVC style of frameworks (though Grails adds a new concept called services we will go into later. I have had the pleasure of working heavily with both frameworks and learning about their various quirks. This is coming from the perspective of a formerly full time rails developer and the transition to Grails.


These frameworks have several thing in common, and rightly so as Grails came after being inspired by Rails. They both share an MVC stack, they both have an ORM, and they both have similar template languages. Now, there are some...

read more

Grails Asset Pipeline - Why it's better

Posted by David Estes on Aug 03, 2013

There are several advantages to using the asset-pipeline instead of the standard grails resources plugin.

  • File dependencies are in the top of your assets. (No Resources.groovy)
  • Assets in plugins become level with your app.
  • On the fly processing in Development mode (No more waiting for reloads)
  • Coffeescript, LESS, and others become first class citizens ( debuggable )
  • Require entire folder trees with one line
  • Better minification (UglifyJs) , and compiling before the WAR is built
  • Faster application startup time
  • Easy extensibility

Before we get too far, it is important to note a few structural differences. The asset-pipeline, does not store it's files in your web-app directory, but rather a new directory generated in grails-app/assets. Within...

read more

Ruby Web Architecture for Large Projects (Services)

Posted by David Estes on Jul 23, 2013

A lot of discussion has been going around in recent months with regards to the best approach to dealing with larger project structures in Rails. One approach to this has been discussed as DCI. DCI is an interesting concept but has some serious issues. One of which is over-complexity. You will suddenly find yourself jumping around files way more than anyone should ever need to. Not to mention it tries to take advantage of Ruby's injection methods such as extend. These methods are not very performant and actually can kill ruby's code cache. Matt Swanson wrote a blog post on his blog "Half-Baked Thoughts on Ruby Web Architecture" that discusses some ideas he came across while working on his new project Stringer. In his...

read more

Web Typography for the Newcomer (Rhythm)

Posted by David Estes on Jan 22, 2013

When designing a website, taking the time to integrate good typography can mean the difference between a good site, and a GREAT site. Typography is a fascinating topic, of which I am still learning a great deal, that requires you to be picky, and focus on even the small details. There are many aspects to typography, as well as limitations when translating these practices to the web. Let's talk about some good practices to follow when designing a website.

Typographic Rhythm

Typographic Rhythm is the vertical spacing of lines of text. By being consistent about our vertical line spacing (using a standard line height or multiple) we create a rhythmic pattern. This pattern makes the reading of text more pleasing to the eye (not to mention...

read more

Site Improvements

Posted by David Estes on Jan 21, 2013

Throughout the week, I have been brushing up on my understanding of typography and how it relates to web design. This is a fascinating topic, and I needed a place to try out some things I had learned. Unfortunately I do not get time to maintain the redwind site, and it gets neglected (admittedly) due to other projects.





By making some simple styling changes, such as increasing line-height, as well as changing colors to reduce the jarring contrast of the site, it is now more readable.

read more