Last updated July 23, 2009 21:29, by arungupta
Feedicon  

Ruby-on-Rails Framework Evaluation


  1. MVC separation - Rails is an MVC framework with a very clear separation between Model, View and Controller.
  2. DRY and CoC principles - The two basic principles of Rails are DRY and CoC and highly encouraged for Rails apps.
  3. Ajax - Rails comes bundled with Prototype library that provide commonly needed Ajax functionality. There are even Prototype Helpers that allow to embed Ajax functionality using Ruby syntax.
  4. ORM - Rails comes pre-bundled with ActiveRecord. Rails 3 will provide pluggable ORM where DataMapper and other ORMs can be easily used.
    1. CRUD generation - Can be easily generated using "scaffold" with sensible defaults which can be easily customized.
    2. Table creation - db:migrate create the database, tables and even load the data from Ruby files.
    3. Loading data in the table - db:fixtures:load and db:migrate can load the data in database from Ruby or YAML files.
    4. Customizing queries - SQL queries (fairly complex) can be easily customized using Ruby like syntax. Raw SQL queries may be used as well.
  5. Customization
    1. CSS & JavaScript - Well-defined placeholder and means of inclusion for CSS & JavaScript.
    2. Form Validation & Default Error Handling - specifying/generating error messages easily - ideally one step
    3. Templates - Define a view/layout.standard.html.erb and include in ApplicationController as "layout 'standard'" and then it gets applied to all the controllers/views. ERb is the default templating language, not sure pluggable templates ?
  6. 3rd party libraries - Integration with 3rd-party JavaScript libraries, YUI in this case
    1. Plugins - Adding functionality using components/widgets/gadgets/gems/plugins
      1. Date picker - No built-in functionality, "calendardateselect" gem provides the functionality in a single line.
      2. Pagination - No built-in functionality, "will_paginate" plugin provides the functionality using a line each in Controller and View.
  7. IDEs - NetBeans provide rich editing, running and debugging support for Rails apps using MRI/JRuby and WEBrick/GlassFish.
  8. Browser compatibility (Firefox, Safari, IE) - Are there any inconsistencies for the generated apps in 3 browsers ?
  9. Production deployment - How easily can a deployable artifact be generated ? How many other supporting artifacts need to be provided ?
  10. Any outstanding feature ? - Gems and Plugins extend the core Rails functionality in a very seamless manner.
  11. Any pain point ? Most of the documentation is out-of-date so need to dig in the code to understand the exact functionality.
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close