Back to Blog

Get in Touch

The Asset Pipeline and Rails 3.1's Post-Modern (Post-Apocalyptic?) Present

By Renae Bair August 31, 2011 in rails, jquery, coffeescript, opinions

Medium

My Twitter stream is abuzz today with the release of Rails 3.1. (You can view the Rails 3.1 Release Notes here). But of course, as the Rails community is comprised of an alarming level of passionate developers, a few diva-style outbursts are in the forecast. Though most of the responses are celebratory there are pockets of people reacting as though they are 5 years old and being forced to eat lima beans by their mothers. But unlike your mother, the Rails Core team isn't forcing you to eat anything. In fact, those who oppose the addition of CoffeeScript and SCSS can circumvent the changes in one step.

Most of the outcry was unleashed when DHH announced in April that CoffeeScript and SCSS would ship with Rails 3.1. CoffeeScript is a whitespace sensitive and expressive language that generates readable JavaScript code. SCSS is the new Sass syntax, and is an extension of CSS3. People have had some time to adjust to the idea since the announcement was made, but that hasn't stopped a vocal few from throwing a temper tantrum about it today. People can argue about its inclusion in Rails 3.1 for the next year (and they will) but what really matters is that the Rails contributors continue to identify and implement libraries and tools that advance Rails and make it more accessible.

Rails 3.1.0 introduces many changes, most of them widely anticipated by the community. The addition of jQuery was one of them and replaces Prototype as the default JavaScript library. jQuery was a crowd favorite since Prototype was more verbose and required the developer to keep track of more variable types. jQuery is more concise and most of its users boast a faster and more pleasant development experience. The addition of CoffeeScript and SCSS though, was not so widely celebrated.

Brent Collier, one of our Senior Engineers was put off by the growing negativity about the Rails 3.1 changes in his Twitter stream:

I don't understand the people complaining about the asset pipeline in Rails 3.1. I mean, if you don't like Sass/CoffeeScript, that's fine. You can still write normal CSS/JS. The only difference is that it goes in app/assets instead of public. It doesn't require devs to do anything different, other than putting files in a different directory. Yeah, 3.1 includes sass-rails and coffee-rails by default. If that ruins your day, you've got bigger problems."

Michael Bleigh feels that in debating CoffeeScript and SCSS in Rails 3.1 we're forgetting the important truth, which is that the asset pipeline is simply amazing:

Forget the drama about SCSS and CoffeeScript, the real story here is that Javascript and CSS are now first-class citizens in a Rails application. The ability to seamlessly integrate asset files from gems is going to change everything about how we build Rails applications.

Before the asset pipeline was announced, I was getting worried about the future of Rails. I saw that the future was to have much richer client-side language support, and Rails didn't necessarily do much to make that easier. Now I can't imagine using anything but Rails for a modern web app. As far as I'm concerned what Rails has done with the pipeline is a huge and important step towards keeping Rails on top for years to come.

Not liking SASS and Coffeescript just seems so pale in comparison to the awesome of first-class assets that I don't even know what to say.

Fortunately, despite some pockets of angry tweets, most people are expressing their gratitude to the Rails 3 team for their hard work. You can follow the stream of Rails 3.1 related tweets here.

Although we tend to be overly opinionated about our methodologies and tools, we're also adept at putting aside our differences in the spirit of ushering in intelligent progress. Today we're #rubythankful to the dedication of the Rails contributors who have worked diligently to make Rails the competitive framework that it is today. As Ruby and Rails devs our programming livelihood depends on Rails' ability to stay competitive and relevant in today's world. So we're offering a big thank you to those who have helped to support the language, the framework, the assets, and the community.

Maggie, our QA Manager recalls a chant her Mom would lead at the lunch table in her daycare when the kids turned up their noses at the food:

"YOU GET WHAT YOU GET AND YOU DON'T PITCH A FIT!"

All together now...

Medium

Renae Bair

Renae is a fledgling Rubyist with an affinity for tech culture. She studied Computer Science at the University of Southern Maine and spent several years managing and promoting small businesses before she came to Intridea where she works to promote our culture and brand internally and on the web. Obsessed with Intridea since our inception, Renae is our natural cheerleader. From finding speaking opportunities at events for our developers and designers to researching trends in technology to writing fresh and fun content for our blog and website, Renae devotes herself to bringing the Intridea brand to every corner of the web. She spends her after-hours with her husband and three children in Portland, Maine and is always on the hunt for the best sushi in town, wandering happily through antiquarian bookstores, brewing tea, and teaching herself to speak Korean. 안녕히 계세요!

More posts by Renae Bair

Renae Bair

The Rails community has had its share of misogynistic controversy over the la...

Renae Bair

No ordinary development intern, Elena Washington brings an intriguing set of ...

Renae Bair

Creating a more beautiful web, one application at a time.