Why Ruby On Rails?


  • Vastly reduced code footprint — Rails leverages Ruby to bring web application development back closer to the productivity of productive non-web application development frameworks.

  • Zero Configuration — Rails applications require a few lines of specification to identify each database connection you will use, as well as a line of configuration for each different type of routing you will use (typically 3-4 lines for an entire application).

  • DRY principle — Simply put, “Don’t Repeat Yourself”. Rails embraces the DRY principle and strives to maintain orthogonality among concerns. This reduces coupling, which reduces maintenance cost

  • Rapid development methodology — Rails targets zero turnaround time development, where developer changes to the system are made instantly available for use and testing.

  • Single-stack application framework — Ruby on Rails includes all the components necessary to build complete web applications from the database forward

  • AJAX UI support — We have placed a high priority on streamlining the user interface for the ezColony project. The most viable technology for streamlining user interaction is AJAX (“Asynchronous JavaScript and XML”). Ruby on Rails’ support for AJAX is powerful, flexible, terse, and well-integrated into the framework.

  • Open-source — Both Ruby and Rails are freely downloadable and re-distributable open source products.

  • MVC separation of concerns — Rails integrates the Model-View-Controller architecture in a lightweight manner. Separation of business logic from database logic and from user interface is handled cleanly, decreasing coupling and providing the benefits of orthogonality.

  • Database agnosticism — Rails supports a wide array of databases, including all the common production database platforms. Our high-level goal of maintaining database platform independence is supported by Rails. We have had great success in developing, testing, and deploying Rails on multiple databases simultaneously—we are currently using PostgreSQL and Oracle.

  • Web services support — Rails supports the most popular web services protocols, including XML-RPC, SOAP, and WSDL. Rails’ flexibility with regard to external APIs enables addition of further web services interfaces easily.

  • Integrated unit and functional testing support — Our iterative development process for ezColony relies heavily on the ability to build comprehensive automated tests. Testing in Rails is simple, well-documented, terse, and integrated into the Rails framework. The availability of ready testing has greatly eased our development and caught a large number of early defects which would have been difficult to otherwise exorcise.