SlideShare uma empresa Scribd logo
1 de 48
Ruby on Rails
      Eric Berry
      cavneb@gmail.com
      Twitter: @cavneb
      SolidCoreSolutions.com
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 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 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
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
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 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.”
Who uses Rails?
Who uses Rails?
‣ Twitter.com (35 Alexa)
‣ Scribd.com (150)
‣ Hulu.com (224)
‣ Justin.tv (231)
‣ YellowPages.com (641)
‣ CookPad.com (696)
‣ AboutUs.org (761)
‣ UrbanDictionary.com (770)
‣ Spock.com (1689)
‣ Jango.com (2088)
‣ iLike.com (2161)
‣ FunnyOrDie.com (2814)
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/
Why use Rails?
Why use Rails?
• Productive within minutes, not weeks.
Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
Why use Rails?
• Productive within minutes, not weeks.
• Convention over configuration
• 100% object oriented
• Use templates for html, email, xml, etc.
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
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
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
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
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
Is Ruby on Rails
always the solution?
NO!
Why NOT use Rails?
Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
• Not a compiled language
Why NOT use Rails?
• Not as widely accepted as Tomcat or .NET
• Not a compiled language
• Primarily used for web applications
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
And now for something
 completely different...
See more at http://railsenvy.com/tags/Commercials
MVC
Model
View
Controller
Model
Object that represents a table column within a database.
View
HTML code that is rendered to the browser.
Controller
Middle man between the views and models.
MVC with Rails
MVC with Rails
     a
     p
     a
     c
     h    Controller
     e
MVC with Rails
     a
            View
     p
     a
     c
     h    Controller
     e


            Model
MVC with Rails
     a
            View
     p
     a
     c
     h    Controller
     e


            Model
MVC with Rails
     a
             View
     p
     a
     c
     h    Routes
     e


           Controller



             Model
MVC with Rails
  a
          View       Helpers
  p
  a
  c
  h    Routes
  e


        Controller



          Model
MVC with Rails
 a



     Rack Middleware
                          View       Helpers
 p
 a
 c
 h                     Routes
 e


                        Controller



                          Model
MVC with Rails
 a



     Rack Middleware
                          View       Helpers
 p
 a
 c
 h                     Routes
 e


                        Controller



                          Model
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
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’
Installation
                           Rails


$ sudo gem install rails




$ sudo gem install rails




C:> gem install rails
Create a Rails App
$ rails my_app
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
Let’s give away a book!

Mais conteúdo relacionado

Mais procurados

Scaling Rails With Torquebox Presented at JUDCon:2011 Boston
Scaling Rails With Torquebox Presented at JUDCon:2011 BostonScaling Rails With Torquebox Presented at JUDCon:2011 Boston
Scaling Rails With Torquebox Presented at JUDCon:2011 Boston
benbrowning
 

Mais procurados (20)

Dev streams2
Dev streams2Dev streams2
Dev streams2
 
An introduction to the ruby ecosystem
An introduction to the ruby ecosystemAn introduction to the ruby ecosystem
An introduction to the ruby ecosystem
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with Jitterbug
 
Rails Engine Patterns
Rails Engine PatternsRails Engine Patterns
Rails Engine Patterns
 
Security Goodness with Ruby on Rails
Security Goodness with Ruby on RailsSecurity Goodness with Ruby on Rails
Security Goodness with Ruby on Rails
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
Rails Engine | Modular application
Rails Engine | Modular applicationRails Engine | Modular application
Rails Engine | Modular application
 
Capybara and cucumber with DSL using ruby
Capybara and cucumber with DSL using rubyCapybara and cucumber with DSL using ruby
Capybara and cucumber with DSL using ruby
 
Dessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudDessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloud
 
Presentation laravel 5 4
Presentation laravel 5 4Presentation laravel 5 4
Presentation laravel 5 4
 
Building RESTful APIs w/ Grape
Building RESTful APIs w/ GrapeBuilding RESTful APIs w/ Grape
Building RESTful APIs w/ Grape
 
Corso su ReactJS
Corso su ReactJSCorso su ReactJS
Corso su ReactJS
 
Ruby On Grape
Ruby On GrapeRuby On Grape
Ruby On Grape
 
Utiliser Webpack dans une application Symfony
Utiliser Webpack dans une application SymfonyUtiliser Webpack dans une application Symfony
Utiliser Webpack dans une application Symfony
 
Full slidescr16
Full slidescr16Full slidescr16
Full slidescr16
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Scaling Rails With Torquebox Presented at JUDCon:2011 Boston
Scaling Rails With Torquebox Presented at JUDCon:2011 BostonScaling Rails With Torquebox Presented at JUDCon:2011 Boston
Scaling Rails With Torquebox Presented at JUDCon:2011 Boston
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
 
Rapid JCR Applications Development with Sling
Rapid JCR Applications Development with SlingRapid JCR Applications Development with Sling
Rapid JCR Applications Development with Sling
 
Paving the way to a native Sling
Paving the way to a native SlingPaving the way to a native Sling
Paving the way to a native Sling
 

Semelhante a Ruby On Rails

Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
pmashchak
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
arif44
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
jistr
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 

Semelhante a Ruby On Rails (20)

Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Ruby on Rails : First Mile
Ruby on Rails : First MileRuby on Rails : First Mile
Ruby on Rails : First Mile
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
 
Aspose pdf
Aspose pdfAspose pdf
Aspose pdf
 
Lecture #5 Introduction to rails
Lecture #5 Introduction to railsLecture #5 Introduction to rails
Lecture #5 Introduction to rails
 
Introduction to Rails by Evgeniy Hinyuk
Introduction to Rails by Evgeniy HinyukIntroduction to Rails by Evgeniy Hinyuk
Introduction to Rails by Evgeniy Hinyuk
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
Demystifying Ruby on Rails
Demystifying Ruby on Rails Demystifying Ruby on Rails
Demystifying Ruby on Rails
 
Ishani-D
Ishani-DIshani-D
Ishani-D
 
Ruby On Rails Overview
Ruby On Rails OverviewRuby On Rails Overview
Ruby On Rails Overview
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
RubyonRails
RubyonRailsRubyonRails
RubyonRails
 
Learning Rails
Learning RailsLearning Rails
Learning Rails
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
 
Ruby on Rails best resources for self
Ruby on Rails best resources for selfRuby on Rails best resources for self
Ruby on Rails best resources for self
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

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.”
  • 9. Who uses Rails? ‣ Twitter.com (35 Alexa) ‣ Scribd.com (150) ‣ Hulu.com (224) ‣ Justin.tv (231) ‣ YellowPages.com (641) ‣ CookPad.com (696) ‣ AboutUs.org (761) ‣ UrbanDictionary.com (770) ‣ Spock.com (1689) ‣ Jango.com (2088) ‣ iLike.com (2161) ‣ FunnyOrDie.com (2814)
  • 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/
  • 12. Why use Rails? • Productive within minutes, not weeks.
  • 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
  • 21. Is Ruby on Rails always the solution?
  • 22. NO!
  • 23. Why NOT use Rails?
  • 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
  • 28. And now for something completely different...
  • 29. See more at http://railsenvy.com/tags/Commercials
  • 30. MVC
  • 32. Model Object that represents a table column within a database.
  • 33. View HTML code that is rendered to the browser.
  • 34. Controller Middle man between the views and models.
  • 36. MVC with Rails a p a c h Controller e
  • 37. MVC with Rails a View p a c h Controller e Model
  • 38. MVC with Rails a View p a c h Controller e Model
  • 39. MVC with Rails a View p a c h Routes e Controller Model
  • 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’
  • 45. Installation Rails $ sudo gem install rails $ sudo gem install rails C:> gem install rails
  • 46. Create a Rails App $ rails my_app
  • 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
  • 48. Let’s give away a book!