The Art of
Ruby on Rails

By Steve Klabnik

The historical impact of Rails

15 minutes heard
'round the world

37signals gave DHH
total freedom

“Starting Rails today is like starting to watch a soap opera in the 7th season.”

Rails 1:
Extraction from Basecamp

Rails 2:
New patterns and improvements

Rails 3:
Downpayment on technical debt

Rails 4:
New patterns and improvements

Developer happiness
above all else

(like efficiency)

Could Rails have been
written in Perl?

Total and utter commitment
to a strategy

The lessons Rails has taught us

Conventions make developers
massively productive.


app/controllers/posts_controller.rb
app/models/post.rb
app/views/posts/*.html.erb

Conventions make
unconventional code difficult.


app/services ?
lib/ ?
app/presenters ?
realtime/ ?

Open Source is big business

Dynamically typed
web frameworks work

... but they may introduce
maintenance issues

What's in store for the future

Rails will continue perfecting its formula

JavaScript. Sorry.

Ember.js 〈( ^.^)ノ

Example:


<table>
  <tr><th>Title</th><th>Author</th></tr>
  <% @posts.each do |post| %>
    <tr>
      <th><%= post.title %></th>
      <th><%= post.author %></th>
    </tr>
  <% end %>
</table>
vs.

<script type="text/x-handlebars">
<table>
  <tr><th>Title</th><th>Author</th></tr>
  {{#each post in posts }}
    <tr>
      <th>{{ post.title }}</th>
      <th>{{ post.author }}</th>
    </tr>
  {{/each }}
</table>
</script>

... Rails is an amazing API server

"Omakase" vs. Prime vs. ...

Bonus round: using Rails

JRuby is an easy path to Rails

Internal applications

SOA means diverse backends

Bonus bonus round: versioning and stability

Thanks! <3

The Art of Ruby on Rails

By Steve Klabnik