of 27/27
Ruby On Rails Building Web Applications Is Fun!

Ruby On Rails

  • View

  • Download

Embed Size (px)


Introduction to RoR

Text of Ruby On Rails

  • 1.Ruby On Rails Building Web Applications Is Fun!

2. What is Ruby on Rails?Rails is a full-stack framework for developingdatabase-backed web applications accordingto the Model-View-Control pattern. www.rubyonrails.org - Ruby on Rails official site 3. RoR Trivia 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 4. What is Ruby? Dynamic, high level, interpreted, pure object-orientated language.Ruby is designed to make programmers happyYukihiro Matsumoto aka Matz 5. Ruby Trivia Creator of Ruby Yukihiro Matsumoto aka Matz Birthday: 24 February 1993 Originated in Japan and Rapidly Gaining Mindshare in US and Europe. 6. Design Principles 7. Design PrinciplesModel - View - Controller 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 8. Design PrinciplesDatabase Persistence OR mapping Active Record design pattern migrations incremental schema management multiple db adapters MySQL, PostgreSQL, SQLite, SQL Server, IBM DB2,Informix, Oracle 9. Design PrinciplesFull Stack Framework MVC suite built-in webserver default db adapter AJAX, web services, email test framework plugins 10. Design PrinciplesConvention over Configuration 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) 11. Design PrinciplesDRY - Dont Repeat Yourself reusing code e.g. view elements reusing data e.g. no need to declare table field names can be readfrom the database making each line of code work harder e.g. mini languages for specific domains object-relational mapping metaprogramming dynamically created methods 12. MVC Architecture 13. MVC Architecture MVC Architecture 14. MVC Architecture Model - ActiveRecord Object Relational Mapping ActiveRecord Less Database glue Code Logging for Performance Checking 15. MVC ArchitectureModel : Rules Table Names Plurals Attribute Names id for primary key in table table_id for foreign key in other table 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. MVC Architecture Controller : ActionController Method name matches view folder users_controller.rb works for /views/users/***.rhtml called actions all views methods will sit there Ability to CRUD Flash Redirect 18. Some Comparisons 19. RoR vs. Java ComparisonofRailsandJ2EEstacks 20. Usage & Support 21. Usage & Support Web Servers Lighttpd Mongrel WEBrick Apache 22. Usage & SupportRoR Databases Mysql Oracle Postgre Sql SqlLite 23. Usage & SupportWebsites on Rails 24. Usage & SupportCompanies Using Rails 25. References www.slideshare.net www.youtube.com www.google.com http://www.netbeans.org/kb/docs/ruby/rapid-rub http://guides.rails.info/getting_started.html www.rubyonrails.org http://www.tutorialspoint.com/ruby-on-rails-2.1 26. Thank You.!!