Published on November 29, 2007
They Laughed When I Learned Ruby on Rails But When I Started to Build Web Applications... Dr Nic Williams
• 10 000 users • 3 months • Re-used their global authentication system
• 600 users of 1500 RailsConf attendees • First release in 5 days
Websites are just text
Google homepage <html> <head> <title>Google</title> </head> <body> <img src=quot;/intl/en_ALL/images/logo.gifquot;> <form action=quot;/searchquot; name=f> <input name=q title=quot;Google Searchquot;> <input name=btnG type=submit value=quot;Google Searchquot;> <input name=btnI type=submit value=quot;I'm Feeling Luckyquot;> </form> </body> </html>
Browsers don’t care what server you use
Browsers don’t care what operating system
Browsers don’t care what programming language
Browsers don’t care. They just want text
Pick what you like best
Real-world Developer problem
Developers are humans
Happy developers do more good things
Convention over Conﬁguration
class Book < ActiveRecord::Base validates_presence_of :title has_many :orders belongs_to :author, :class_name => quot;Userquot; end
class StoreController < ApplicationController def show @book = Book.find_by_permalink(params[:id]) end end http://mysite.com/store/drnic-book-on-rails
DRY Don’t Repeat Yourself
class Book < ActiveRecord::Base end Where are the attributes? Where is the conﬁguration?
Change is instant
Use it, break it, ﬁx it, trash it, change it
Why is Rails special?
Ruby (no more Java) Introspection Open classes Execute code in class deﬁnitions
#9 popular language http://www.tiobe.com/index.htm?tiobe_index
One language for everything ActiveRecord Controller HTML helpers Ajax
Open Source. • 2200 participants • commiters, patchers, commenters, +1ers http://dev.rubyonrails.org
app models Every controllers application views looks the conﬁg same db test vendor
Flexibility is overrated
Constraints are liberating
All this creates happiness, plus better applications
Bad architecture is still bad architecture Its just for websites Java is evolving Groovy and Grails, + Open sourced Java
Getting started • www.rubyonrails.org • www.peepcode.com - $9 videos • www.drnicacademy.com - Australian training
... if a user wanted multiple accounts then they could use their ... on is WHY a user ... ä»¥å Š * Dr.nic Sample Rails app: multi-OpenIDs ...
Why not make a library to ... 17 Responses to “Using CoffeeScript in Rails ... I ran into a slight problem when following Dr Nic’s setup tutorial today ...
Dr Nic Williams on Rails, RailsInstaller and the Future of Ruby VMs. ... Bio Dr Nic works at Engine Yard as VP ... People ask "Why do you use Git?"
An initial thought might be why RailsInstaller is ... or Rails. Dr. Nic ... use IIS: What's great about RailsInstaller is ...
I am using Dr.Nic's Composite Primary Keys for rails ... rails: use of “self” in associations between ... Why use diff/patch when it is easier to just ...
I still need to use Windows to develop Ruby and Rails apps and ... as Dr. Nic. At work, I work from a Windows ... is why Windows servers ...
Why is composite primary keys not a default feature of ... Dr Nic Williams has released and ... Why does Ruby on Rails use integer instead of bigint ...
Gems On Rails. Get Version 0 ... This code is free to use under the terms of the MIT licence. Contact. Comments are welcome. Send an email to Dr Nic ...