Justifying Ruby on Rails As Your Web Framework

Ruby on Rails is a fantastic web framework that should be considered for any new web application.

Ruby is a Powerful Language

I recently wrote about my thoughts on What I like about the Ruby programming language. In addition, I should add that Ruby code tends to be more concise than other languages. It takes less time to write. It's very readable. It's easy to maintain.

Ruby on Rails is a Mature Web Framework

Ruby on Rails was created in 2003 and is in use by tens of thousands (if not hundreds of thousands) of web applications. It consists of several very large and actively maintained APIs that make building applications quicker and easier than much of the competition.

Community Buy in to TDD

In general the Ruby on Rails community has bought in to Test Driven Development. TDD consists of writing tests before coding. It is an important part of many agile methodologies. It is practiced by writing tests first, checking that they fail, writing the code that is the subject of the test, and checking that the tests now pass. This will leave the product owner with a specification showing what the product actually does and will facilitate making responsible changes in the future. Without tests for existing code, it is very hard to know whether future changes will break anything.

It's Quick to Start

Rails comes with generators and scaffolding that make starting a new project quick to prototype. This helps facilitate communication that is important at the start of new projects.

Migrations

Most applications that do anything of value store data in a database. As applications change the database that supports it must change. Ruby on Rails makes database migrations a first class citizen. This is an important step in ensuring that the application runs after upgrades and helps prevent data loss.

Convention over Configuration

This has been a catch phrase for ROR for a while. In a lot of other frameworks every little thing must be configured. Rails is opinionated. Lots of things just happen unless you change it. This is another time saver.

Enterprise Software With JRuby

Rails can be deployed into a Java application server through the use of JRuby. This makes it easier to combine it with other Java-based applications.

Gems

Just like Ruby itself, Rails can be extended easily with 3rd party libraries. Not having to roll your own software for every little feature saves time and money.

comments powered by Disqus