Your SlideShare is downloading. ×
0
Ruby On Rails
Building Web Applications Is Fun!
Rails is a full-stack framework for developing
database-backed web applications according
to the Model-View-Control patter...
• Written in Ruby
• Creator of Ruby on Rails
– David Heinemeier Hansson
• Birth: July 2004
• Latest: 2.1.1: 4 September 20...
Dynamic, high level, interpreted, pure object-
orientated language.
“Ruby is designed to make programmers happy”
Yukihiro ...
• Creator of Ruby
– Yukihiro Matsumoto aka Matz
• Birthday: 24 February 1993
• Originated in Japan and Rapidly
Gaining Min...
Design Principles
• Separate data (model) from user interface (view)
• Model
– data access and business logic
– independent of the view and ...
Design Principles
Database Persistence
• OR mapping
– Active Record design pattern
• migrations
– incremental schema manag...
Design Principles
Full Stack Framework
• MVC suite
• built-in webserver
• default db adapter
• AJAX, web services, email
•...
• fixed directory structure
– everything has its place – source files, libs, plugins,
database files, documentation etc
• ...
• reusing code
– e.g. view elements
• reusing data
– e.g. no need to declare table field names – can be read
from the data...
MVC Architecture
MVC Architecture
MVC Architecture
• Object Relational Mapping
– “ActiveRecord”
• Less Database “glue” Code
• Logging for Performance Checking
MVC Architectu...
MVC Architecture
Model : Rules
• Table Names
– Plurals
• Attribute Names
– id for primary key in table
– table_id for fore...
MVC Architecture
View - ActionView
• multiple template types
– oldest and basic: erb (embedded ruby), similar to e.g. jsp
...
MVC Architecture
Controller : ActionController
• Method name matches view folder
– users_controller.rb works for
/views/us...
Some Comparisons
RoR vs. Java
 Comparison of Rails and J2EE stacks
Usage & Support
Usage & Support
Web Servers
• Lighttpd
• Mongrel
• WEBrick
• Apache
Usage & Support
RoR Databases
• Mysql
• Oracle
• Postgre Sql
• SqlLite
Usage & Support
Websites on Rails
Usage & Support
Companies Using Rails
Thank You.!!
Rubyonrails 090715105949-phpapp01
Upcoming SlideShare
Loading in...5
×

Rubyonrails 090715105949-phpapp01

115

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
115
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Rubyonrails 090715105949-phpapp01"

  1. 1. Ruby On Rails Building Web Applications Is Fun!
  2. 2. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern. – www.rubyonrails.org - Ruby on Rails official site What is Ruby on Rails?
  3. 3. • Written in Ruby • Creator of Ruby on Rails – David Heinemeier Hansson • Birth: July 2004 • Latest: 2.1.1: 4 September 2008 • Based on SmallTalk, Perl, Lisp • Not strongly typed RoR Trivia
  4. 4. Dynamic, high level, interpreted, pure object- orientated language. “Ruby is designed to make programmers happy” Yukihiro Matsumoto aka Matz What is Ruby?
  5. 5. • Creator of Ruby – Yukihiro Matsumoto aka Matz • Birthday: 24 February 1993 • Originated in Japan and Rapidly Gaining Mindshare in US and Europe. Ruby Trivia
  6. 6. Design Principles
  7. 7. • Separate data (model) from user interface (view) • Model – data access and business logic – independent of the view and controller • View – data presentation and user interaction – read-only access to the model • Controller – handling events – operating on model and view Design Principles Model - View - Controller
  8. 8. Design Principles Database Persistence • OR mapping – Active Record design pattern • migrations – incremental schema management • multiple db adapters – MySQL, PostgreSQL, SQLite, SQL Server, IBM DB2, Informix, Oracle
  9. 9. Design Principles Full Stack Framework • MVC suite • built-in webserver • default db adapter • AJAX, web services, email • test framework • plugins
  10. 10. • fixed directory structure – everything has its place – source files, libs, plugins, database files, documentation etc • file naming conventions – e.g. camel case class name, underscore file name • database naming conventions – table names, primary and foreign keys • standard configuration files – e.g. database connections, environment setting definitions (development, production, test) Design Principles Convention over Configuration
  11. 11. • reusing code – e.g. view elements • reusing data – e.g. no need to declare table field names – can be read from the database • making each line of code work harder – e.g. mini languages for specific domains • object-relational mapping • metaprogramming – dynamically created methods Design Principles DRY - Don’t Repeat Yourself
  12. 12. MVC Architecture
  13. 13. MVC Architecture MVC Architecture
  14. 14. • Object Relational Mapping – “ActiveRecord” • Less Database “glue” Code • Logging for Performance Checking MVC Architecture Model - ActiveRecord
  15. 15. MVC Architecture Model : Rules • Table Names – Plurals • Attribute Names – id for primary key in table – table_id for foreign key in other table
  16. 16. MVC Architecture View - ActionView • multiple template types – oldest and basic: erb (embedded ruby), similar to e.g. jsp – remote javascript templates – xml templates • easy reuse of view elements – file inclusion – layouts, templates, partials – multiple standard "helpers" – common html element generators (e.g. form elements, paginators) • easy AJAX integration
  17. 17. MVC Architecture Controller : ActionController • Method name matches view folder – users_controller.rb works for /views/users/***.rhtml – called “actions” – all view’s methods will sit there • Ability to – CRUD – Flash – Redirect
  18. 18. Some Comparisons
  19. 19. RoR vs. Java  Comparison of Rails and J2EE stacks
  20. 20. Usage & Support
  21. 21. Usage & Support Web Servers • Lighttpd • Mongrel • WEBrick • Apache
  22. 22. Usage & Support RoR Databases • Mysql • Oracle • Postgre Sql • SqlLite
  23. 23. Usage & Support Websites on Rails
  24. 24. Usage & Support Companies Using Rails
  25. 25. Thank You.!!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×