The Future of Software Development - Devin AI Innovative Approach.pdf
Ruby On Rails
1. Ruby on Rails
Eric Berry
cavneb@gmail.com
Twitter: @cavneb
SolidCoreSolutions.com
2. Ruby on Rails
Ruby on Rails is an open-source web framework that’s
optimized for programmer happiness and sustainable
productivity. It lets you write beautiful code by favoring
convention over configuration.
3. Ruby on Rails
Ruby on Rails is an open-source web framework that’s
optimized for programmer happiness and sustainable
productivity. It lets you write beautiful code by favoring
convention over configuration.
4. Ruby on Rails
Ruby on Rails is an open-source web framework that’s
optimized for programmer happiness and sustainable
productivity. It lets you write beautiful code by favoring
convention over configuration.
PHP C# Java Python
Zend ASP.net Spring web2py
CakePHP Struts Django,
CodeIgniter Stripes TurboGears
symfony Tapestry Pylons
Zoop Hivemind Zope
Akelos JBoss Quixote
5. Ruby on Rails
Ruby on Rails is an open-source web framework that’s
optimized for programmer happiness and sustainable
productivity. It lets you write beautiful code by favoring
convention over configuration.
Ruby PHP C# Java Python
Rails Zend ASP.net Spring web2py
Sinatra CakePHP Struts Django,
Merb* CodeIgniter Stripes TurboGears
symfony Tapestry Pylons
Zoop Hivemind Zope
Akelos JBoss Quixote
6. Ruby on Rails
Ruby on Rails is an open-source web framework that’s
optimized for programmer happiness and sustainable
productivity. It lets you write beautiful code by favoring
convention over configuration.
7. Ruby on Rails
Ruby on Rails is an open-source web framework that’s
optimized for programmer happiness and sustainable
productivity. It lets you write beautiful code by favoring
convention over configuration.
“Software design paradigm which seeks to decrease
the number of decisions that developers need to
make, gaining simplicity, but not necessarily losing
flexibility.”
10. Who uses Rails?
‣ Twitter.com (35 Alexa) “Ruby on Rails is known for its ability to
‣ Scribd.com (150) build Web applications quickly and with
ease. For first-time users of Java, it could
‣ Hulu.com (224) take about five to ten days to build a
‣ Justin.tv (231) moderately useful Web application that will
communicate with a database using
‣ YellowPages.com (641) accepted Java Web best-practices such as
‣ CookPad.com (696) separating business logic, from display logic
‣ AboutUs.org (761) (commonly referred to as Model-View-
Controller). With no prior training on Ruby
‣ UrbanDictionary.com (770) on Rails, it takes about one day to
‣ Spock.com (1689) accomplish the same goal using the Ruby
programming language. In several more
‣ Jango.com (2088) days, it is possible to build a relatively
‣ iLike.com (2161) complete Web application with Ruby on
Rails.”
‣ FunnyOrDie.com (2814)
http://www.developerfusion.com/column/7092/ruby-on-rails-deserves-the-hype/2/
13. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
14. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
15. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
16. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
• Database persistence with Active Record
17. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
• Database persistence with Active Record
• Simple AJAX integration
18. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
• Database persistence with Active Record
• Simple AJAX integration
• Enables Agile practices
19. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
• Database persistence with Active Record
• Simple AJAX integration
• Enables Agile practices
• Generators
20. Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
• Database persistence with Active Record
• Simple AJAX integration
• Enables Agile practices
• Generators
• Community
24. Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
25. Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
• Not a compiled language
26. Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
• Not a compiled language
• Primarily used for web applications
27. Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
• Not a compiled language
• Primarily used for web applications
• You can get a false sense of productivity
when following the examples. Typical real-
world projects are more complex
40. MVC with Rails
a
View Helpers
p
a
c
h Routes
e
Controller
Model
41. MVC with Rails
a
Rack Middleware
View Helpers
p
a
c
h Routes
e
Controller
Model
42. MVC with Rails
a
Rack Middleware
View Helpers
p
a
c
h Routes
e
Controller
Model
43. Installation
Ruby
Pre-packaged with OS X 10.5+
$ yum install ruby irb rdoc
$ apt-get install ruby irb rdoc
Download 1-Click installer from
http://www.ruby-lang.org
44. Installation
RubyGems
Download from http://rubygems.org and install
Download from http://rubygems.org and install
Download from http://rubygems.org and install
or make sure that when you install Ruby, you opt ‘Enable RubyGems’
47. Create a Rails App
$ rails my_app
app - home of models, views and controllers
config - db, deployment, environment settings
db - migrations and schema
doc - rdocs and other documentation
lib - custom code and rake tasks
log - logs for all environments
public - public
script - ruby scripts (generate, plugin, etc)
test - home for all testing files (unit, functional, etc)
tmp - temp folder
vendor - home for plugins and gems