Intermediate Ruby on Rails
When and Where
The course will be on Friday, January 25th, 2008 at BCIT in Downtown Vancouver.
This is a full day course. It runs from 9:00 – 5:00.
If you’re coming to town for a weekend of Ruby, then come a day early and pump up your Rails skills with us!
What you will learn
Gerald and Scott will show you how to build a complete RESTful web application and web service using Rails 2.0. We will then use ActiveResource to build a facebook and mobile application on top of the web service.
By the end of the course, you will understand
- ActiveRecord Associations:
has_and_belongs_to_many,has_many :through, Single Table Inheritance and Polymorphic Associations. - Designing RESTfully: what REST is, picking your resources, using REST with Rails 2.0.
- Creating a web service: responding with multiple formats (XML, JSON, Atom, etc).
- Using ActiveResource: interacting with a web service using ActiveResource.
- Creating Helpers: Simplifying your views with html and Javascript helper methods.
- The Semantic Web: why the Semantic Web and Microformats matter, creating RESTful web services and web pages using Microformats and Ruby on Rails.
- The Social Web: why the Social Web matters and what’s the Facebook advantage, creating Facebook applications using Ruby on Rails.
- The Mobile Web: why the Mobile Web matters, creating mobile web applications for Apple’s iPhone/iPod Touch, Google’s Android or Nokia’s S60 Web Runtime using Ruby on Rails.
What you will get
- The Source
- All source code used in the talk.
- The source for the working web application, web service, facebook app and mobile app.
- Links to all of the plugins and gems used in the applications.
- The Slides
- All the slides used in the talk.
What we won’t be covering
This is not a beginner’s workshop, so you will probably get lost unless you are familiar with Rails. At the very least, you should have built the sample application while reading through Agile Web Development with Rails or something similiar. If you’ve built a Rails application or two, that will be even better.
The focus of this course will be on the back-end, so we won’t be covering much in the way of AJAX, CSS or design. We also won’t have much time to talk about deploying your Rails application.
What you should bring
There will be a few times during the day where you are given time to play around with some of the concepts and tools we are demonstrating, so bring a laptop along. Wireless access will be provided.
There’s no need to bring food or drink. Lunch, snacks and coffee and tea will be provided.
Pricing
See the sign up page for pricing information.
Course outline
- The application concept (15 minutes)
- Introduction to the application
- A quick demo of the application
- The Schema
- Discussion of the various models
- Discussion of the associations between the models
- has_one
- has_many
- has_and_belongs_to_many
- has_many :through
- Single Table Inheritance
- Polymorphic Associations
- The Models
- When and how to create methods for your models.
- The Controllers
- REST concepts
- Creating a RESTful controller
- Responding with
- xhtml
- custom response types, like ‘mobile’
- JSON
- XML
- atom
- Views
- Creating html helpers
- Creating Javascript helpers
- The API
- API keys and authentication
- Interacting with the API in irb
- The Semantic Web
- What is the Semantic Web? What’s Web 3.0?
- What are Microformats? Why do Microformats matter?
- Microformats and Browser Plugins and JavaScript APIs
- Microformats and Ruby on Rails
- Creating RESTful web services using Microformats
- Adding semantics to your web pages (marking up people, events, locations and more using Microformats) and enabling Google Map listings, exporting contacts to your address book and more.
- The Social Web
- What is the Social Web? What’s Facebook?
- Why does Facebook matter? Facebook Statistics and Numbers
- Facebook and Ruby on Rails
- What’s RFacebook? What’s Facebooker?
- Creating a Facebook application using inline frames (iframes)
- Creating a Facebook application using FBML (Facebook Markup Language)
- The Mobile Web
- What is the Mobile Web? Why does the Mobile Web matter?
- Apple iPhone/iPod Touch, Google Android, Nokia S60 Web Runtime and Ruby on Rails
- What’s iUI?
- Creating a Mobile Web application using iUI
