As a new developer-in-training, a lot of my Ruby on Rails projects up until now have relied on Bootstrap to get boilerplate styling out of the way quickly. This is great for getting a layout and up on the screen quickly without having to split focus between the back end and front end of an application.
I really wanted a specific set of tools out of a framework:
- An easily implemented and responsive grid system.
- Generic button, nav and heading styling that was easily customized.
- Modularized add-ons and mixins extend the framework as needed.
- Ideally, the framework would be bundleable with RoR as a gem.
- Not a lot of scripting or nested styling (divs within divs within divs of classes). This was especially important to me because I didn’t want to have a lot of baked-in fuctions to fight when I started diverging from the frameworks.
My searching led me to this handy listicle of light-weight frameworks. Represented are some cool, up-to-date frameworks that vary in their depth and complexity.
I ended up choosing the Concise CSS framework to learn next because it seemed to meet all of my desired requirements.
- The grid system is sensical, customizable, and nestable.
- The generic stylings for most elements are straightforward and unadorned.
- Adding more complex features is easily done via Add-ons as needed per project.
- Concise is also easily added to a Rails project via the ConciseCSS gem
- Concise doesn’t encumber you with many scripts - making it customization less clash-prone. In fact you, when using the gem, you can pick and choose which scripts to include, easily disabling any script you’d rather overwrite.
It only took me a few hours to get an existing Rails project switched from Bootstrap to Concise, which you can see running over on Heroku - Markoff. I’ve still got a lot of playing around to do with Concise before I’m settled on using it for my prototyping, but I appreciate how easy it is to get a neutral-feeling style applied to a Rails app, and simple it is to override what’s provided.