This document will walk you through everything you need to know to work with Rails, while picking up some skills that will allow you to work with web developers in any language or framework. We’ll walk through the whole process of designing web applications, step by step looking at some tools and techniques you need as we go along.
This is a fairly broad topic, but in this document we’ll cover as much as possible and in as much depth as possible. Our concentration won’t be on specific scenarios as much as general concepts that you can apply in a lot of areas. Here is a basic roadmap that we’ll follow through the text:
Chapter 1: Using your computer for the first time (for real) There’s a whole world that lives under all that UI chrome you use everyday. In this chapter, you’ll learn how to find and use the system beneath (a.k.a., the console).
Chapter 2: The Development Workflow Web developers tend to have a certain flow they work in; this chapter will walk through that process and peg exactly where you fit in.
Chapter 3: Hello, Ruby Ruby is the programming language that powers Rails. This chapter will serve as an incredibly basic primer for the language and community.
Chapter 4: Getting into Ruby on Rails Ruby on Rails is the framework we’ll be focusing on, and in this chapter we take a high level look at the framework and how it works.
Chapter 5: Zooming in on Action View Action View is the portion of Rails that designers will be the most concerned with, and in this chapter we’ll look at the components of Action View and how they can help you design your applications better.
Chapter 6: A Real Example This chapter will present a full example application, starting with barebones HTML and moving through, designing features as we go.
Working with web developers is a good bit different than simply working in HTML or Photoshop. Unlike normal HTML, HTML that’s generated by web applications typically has logic embedded in it, which you will need to design around and with: there may be blocks that are repeated, tables that are generated, text that dynamically changes depending on whether the user is logged in, and so on. Not only that, you’ll need to be able to fit into the developer’s workflow naturally, so that you become part of the development team rather than just “the designer.”
This document assumes that you’re using Mac OS X, but much of the information here will be useful if you’re on Linux and (to a much lesser degree) if you’re on Windows (which is not recommended; many of the utilities we mention are not available for Windows).
It is also assumed that you have the following software packages installed: * Ruby (at least version 1.8.5; available at http://www.ruby-lang.org/) * RubyGems (at least version 1.0; available at http://www.rubygems.org/) * Ruby on Rails (at least version 2.0; available at http://www.rubyonrails.org/) * Git (available at http://git.or.cz/)
Information on installing each of these packages is available on their respective websites. Installing Ruby and Git will be easiest using MacPorts, which you can get from http://www.macports.org/ (but you may want to hold off on installing that until we talk about the console a little or else the process may be confusing).