When they come to us, our clients trust us to produce a solution that fits their needs -- they very rarely mind what we use to implement the site or system they've asked us to build.
In addition, we provide hosting, so the client doesn't have to worry about managing their own infrastructure.
That means we're very lucky! We get to choose whichever language and framework combination we like best. And in most cases, that's Ruby on Rails
What's so great about Rails?
So why do we use Rails for most of our digital projects? Well...
Ruby on Rails is widely considered
to allow faster development of websites over other frameworks and languages.
Before we write code for a feature, we write a test that describes what we're trying to achieve.
Then, once that test passes, we know we've implemented that feature correctly.
Furthermore, by running the entire set of tests, we're able to see at a glance if new code we write causes problems in other areas of the application.
Ruby on Rails is built from the ground up around automated testing, which lets us deliver high quality, bug-free sites. Other frameworks push testing to the background, or ignore it altogether.
Rich plugin ecosystem (gems)
The Ruby world has over 60,000
libraries - or gems - released as open source software that we can use in our projects, and modify when we want different behaviour.
This means we don't have to re-invent the wheel each time a client requests functionality that other sites have, such as user management.
We make use of an awesome content management system for Rails called RefineryCMS
, and we actively contribute to its development.
We love open source software - Initforthe have released 4 gems
back to the community, and our github account
contains code for several other projects.
The Rails community is a breath of fresh air. Thousands of blog articles exploring every facet of Rails development, most of which can be trusted not to inadvertently leak SQL injections into your codebase (Yes, that was a sly dig at the PHP community ;))
Full-featured, yet flexible
We've used Rails for everything from full-featured e-commerce sites to a simple API for the scoreboard of an online game.
Rails works perfectly for both cases -- in the former we're using every feature Rails offers, and in the latter a small subset to do one specific task.
Ruby on Rails also lets us leverage new, powerful tools like CoffeeScript
Scales well for 99% of sites
This is a controversial one. The most well known user of Ruby on Rails is Twitter
-- but they're most well known for their writings about having to move away from Rails, as it didn't handle the scale they required.
What's missing here is an understanding that no off the shelf framework is going to be able to handle an application at that scale.
Put quite simply, all of our customers, even those with higher levels of traffic than usual, can be comfortably supported on a regular hosting server.