Ruby on Rails Introduction
-
Upload
joost-hietbrink -
Category
Technology
-
view
78 -
download
1
Transcript of Ruby on Rails Introduction
Ruby on RailsPeak IT, 17 September 2008
Joost Hietbrink?www.linkedin.com/in/joosthietbrink
source: http://en.wikipedia.org/wiki/Ruby_(programming_language)
• Birthday: 24 February 1993
• v1.0: 25 December 1996
• “more powerful than Perl, and more OO than Python”
• 99.9% Object Oriented
Yukihiro ‘Matz’ Matsumoto, creator of Ruby.
try ruby! (in your browser)http://tryruby.hobix.com/
• Birth: July 2004
• Shipped with OSX Leopard
• Latest: 2.1.1: 4 September 2008
David ‘dhh’ Heinemeier Hansson
Ruby on Rails vs.JavaPHP.NET
ColdFusionDjango
...
Websites on Rails
Companies using Rails
The Framework
source: http://flickr.com/photos/charlesbodi/236037049/
• Convention over Configuration
• Agile Programming principle
• DRY
app controllers helpers models viewsconfig environments initializersdbdoclib taskslogpublic images javascripts stylesheetsscript performance processtest fixtures functional integration unit...
ModelView
Controller
Framework (MVC)
Modelssource: http://flickr.com/photos/74982136@N00/252447564
ActiveRecord
source: http://media.rubyonrails.org/presentations/pursuitofbeauty.pdf
Fat Models
ActionControllersource: http://flickr.com/photos/sameli/261307204/
RESTfulResources
HTTP verb Controller Action
CRUD Action URL
GET show READ /products/1/products/1.xml
POST create CREATE /products
PUT update UPDATE /products/1
DELETE destroy DESTROY /products/1
GET new /products/new
GET index /products
GET edit /products/1/edit
source: http://rubyenrails.nl/articles/2006/11/02/restful-rails
ActionViewsource: http://flickr.com/photos/bocavermelha/66759796/
action.mimetype.renderer
show.html.erbindex.rss.builderedit.iphone.haml
Generateinstead of
Create
DRY vs. DRO
source: http://media.rubyonrails.org/video/rails_take2_with_sound.mov
Demo?!
More info
• rubyonrails.org
• railscasts.com
• peepcode.com
• rubyenrails.nl
• slideshare.net:
• http://www.slideshare.net/mattb/coding-on-the-shoulders-of-giants
Other interesting stuff..
• http://www.slideshare.net/daveman692/supporting-the-open-web-oscon-2008
• http://microformats.org/
• http://www.dataportability.org/
• http://git.or.cz/
How to create aMP3 Playing Alarm Clock
in Ruby?
sleep7.hours%x(open~/heaven‐sent.mp3)