1 / 17

Ruby On Rails

Ruby On Rails. Rebecca Crabb and Blaine Stancill. Ruby. Open-Source Programming Language Created by Yukihiro Matsumoto Blended parts of other languages “I wanted a scripting language that was more powerful than Perl and more object-oriented than Python” Public release in 1995

orea
Télécharger la présentation

Ruby On Rails

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ruby On Rails Rebecca Crabb and Blaine Stancill

  2. Ruby • Open-Source Programming Language • Created by Yukihiro Matsumoto • Blended parts of other languages • “I wanted a scripting language that was more powerful than Perl and more object-oriented than Python” • Public release in 1995 • Achieved mass acceptance in 2006 with Ruby On Rails

  3. Why Ruby? • Ruby: puts “Hello World!” • Java: threeVeryLongLines.weHopeWork… • Perl: #$<!&; • Lisp: ((a(((b)))c))) No, But Really…

  4. Ruby vs Java Ruby Java The empty program: Class Test { public static void main(String[] args){} } Basic Getters and Setters class Circle{ private float radius; public void setRadius(float radius){ this.radius = radius; } public float getRadius(){ return radius; } } • The empty program: • Basic Getters and Setters class Circle attr_accessor :radius end

  5. Ruby VS JAVA Ruby Java List: List<String> languages = new LinkedList<String>(); languages.add(“Java”); languages.add(“Ruby”); • List: stuff = [ ] stuff << “Java”, “Ruby”

  6. Objects • Everything is an object • Does not have primitives like Java

  7. TypeCasting “If it walks like a duck and talks like a duck, it’s a duck!” • The “Duck Typing” philosophy • Define an object by what it can do, not its type • Current set of methods and properties • Variable naming • var could be a local variable • @var is an instance variable • $var is a global variable

  8. Ruby on Rails • Open source web application framework for Ruby • Designed for Agile development • Released in July 2004 • In August 2006 Apple announced that it would ship RoR with Mac OS X Leopard • Rails provided a purpose for Ruby • Rails using Model-View-Controller architecture

  9. Philosophy and Design • Convention over Configuration • Naming conventions • Class Sale in the model, the corresponding table in database is called sales by default • Less Code • Don’t Repeat Yourself • Scaffolding • Automatically create full CRUD support for database table • Generators • Built in scripts to automatically generate parts of framework

  10. MVC Pattern

  11. Active Record • It’s the M in MVC • Handles the automatic mapping of your database tables to your runtime model objects • Tables to classes • Rows to objects • Columns to object attributes • Don’t need to see or use SQL • But still can if necessary • Relational database

  12. Database Access • team.rb is our model: class Team < ActiveRecord::Base has_many :players has_one :coach belongs_to :conference end • Retrieve all the players: @team= Team.find_by_school_and_sport(“unc”,”basketball”) @team.players

  13. The Rails way • Quick and easy development • Built for scalability • Every app is structured the same • Convention over Configuration • Don’t Repeat Yourself

  14. ViDeoS

  15. More Info ON RoR • http://www.ruby-lang.org/en/about/ • http://rubyonrails.org/ • http://onlamp.com/pub/a/onlamp/2005/10/13/what_is_rails.html?page=3 • http://railstutorial.org/chapters/a-demo-app

  16. Questions?

  17. References • http://www.ruby-lang.org/en/about/ • http://rubyonrails.org/ • http://onlamp.com/pub/a/onlamp/2005/10/13/what_is_rails.html?page=3 • http://railstutorial.org/chapters/a-demo-app • http://slideshare.net/Belighted/ruby-vs-java • http://slideshare.net/vishnu/the-top-10-reasons-the-ruby-programming-language-sucks • http://en.wikipedia.org/wiki/Diamond_problem

More Related