Rubyonrails 090715105949-phpapp01

287 views

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
287
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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.!!

×