Introducing Ruby/MVC/RoR

  • 1,657 views
Uploaded on

An introduction session of Ruby, Ruby on Rails, MVC architecture...

An introduction session of Ruby, Ruby on Rails, MVC architecture...

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Hi Sumanth,can you please share your contact number at a.shalini.rao@gmail.com or call on 9845377421
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,657
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introducing Ruby MVC Framework Ruby on Rails
  • 2. TAG Cloud  Java Ruby PHP Object oriented ActiveRecord  python Ruby on Rails Rails J2EE Hibernate  Framework MVC RadRails Aptana NetBeans  Struts IDE Architecture ActionPack gems  Webserver Testing plugins OpenSource Helpers  webrick Methods
  • 3. Do we need??? Another Language... Another Framework... A new design pattern... Wide range of new tools... ... ... ...
  • 4. So let's dive in...
  • 5. Ruby is...  An interpreted language  - a.k.a dynamic, scripting  - e.g., perl  Modules allow addition of behaviors to a class  Object Oriented  Single inheritance  High level  - Good support for system calls, regex and CGI  Relies heavily on convention for syntax
  • 6. Ruby is...  All classes derived from Object including Class (like Java) but there are no primitives (not like Java at all)  Ruby uses single-inheritance  Mixins give you the power of multiple inheritance without the headaches  Modules allow addition of behaviors to a class  Things like ‘=‘ and ‘+’ that you might think are operators are actually methods (like Smalltalk)  Variables are not typed  Automatic memory allocation and garbage collection
  • 7. Traditional Applications Browser directly accesses page. - Do not offer centralized control • - No separation of content/style - Difficult to maintain
  • 8. MVC Applications Browser accesses a “controller” - Centralizes control - Clean separation of content/style - More involved to produce - Easier to maintain and expand
  • 9. MVC MVC is an Architectural Design Pattern Separates a web application into three different modules. Model | View | Controller
  • 10. MVC Advantages Separation of interests. Model centralizes business logic. View centralizes display logic. Controller centralizes application flow. Clean separation of content/style. Improved decoupling. Easier testing. Allow multiple people to work on different parts.
  • 11. RAILS & MVC Rails in an MVC framework ”…Rails is such a framework that tries to remove the complexity and drudgery of MVC, while still allowing you to realize all the benefits.” - DHH (David Heinemeier Hansson)
  • 12. Model - ActiveRecord ActiveRecord is a design pattern. (Martin Fowler) Object wraps a row in the database. Encapsulates data access. Contains business logic. Handles relationships. Handles validation.
  • 13. View - ActionView Renders the view. Both .rhtml and .rxml files. Provides master layouts. Uses ERb (embedded ruby) for templating and control.
  • 14. Controller – ActionController Controls application flow. Controls which view to use. Makes data available as instance variables @var Contains several actions/defs Controls rendering and redirection.
  • 15. What it looks like?
  • 16. Walk through...
  • 17. Folder Structure
  • 18. RAILS in 10 points  Don’t Repeat Yourself  Convention Over Configuration  Model View Controller  Agile Development  Configuring DB  ActiveRecord (Built-in ORM support)  CRUD – operations  Generators  Migrations  Plugins
  • 19. Worth diving. Isn't it?
  • 20. Who's using...
  • 21. Applications...
  • 22. References... http://wiki.rubyonrails.org http://rubyonrails.org http://www.workingwithrails.com http://www.37signals.com ... ...
  • 23. Thanks! Sumanth Krishna. A www.sumanthkrishna.com tosumanthkrishna@gmail.com