Captain's log, stardate d33.y37/AB
As a specialised development consultancy, we work on projects of all sorts. In our first two years of existence, we learnt a lot about client-side work. You can find our recap on our blog entry We Don't Need a CEO (Lessons Learnt in Two Years Running a Development Consultancy).
Our tech stack is based on the framework Ruby on Rails and Ruby as the programming language, for which we sometimes receive some objections, saying it's not solid or popular enough. Our clients think otherwise, and we have summed up the five main reasons why they love Ruby on Rails for their projects.
1. Development pace
Many times we have been hired to build projects from scratch. Sometimes the app does not exist yet, but some others we have to replace an existing platform built with other technologies.
Ruby on Rails, as a framework, offers a considerably faster development pace than other languages and frameworks whilst keeping the quality. Mainly, this is because Ruby on Rails offers a lot of built-in methods in order to save developers' precious time. It also implements a large set of default features that can be found in every web project. Rails does all of that - and more - without losing the flexibility to disable any behaviour that you don’t need easily.
Rails uses on the software paradigm called convention over configuration (also known as coding by convention) which relies on defaulting to sensible configurations instead of forcing the developer to set up variables and their values explicitly. You can find more information about this paradigm on its Wikipedia page.
By using coding by convention, plus the available documentation you can find online, and a very large user base of coders, Ruby on Rails developers can perform considerably faster than those using other programming languages or frameworks.
This will help you to reduce the cost of outsourcing, as the development phase will be shorter, and the time to market of your application, which is something we covered in our previous blog entry: Four Things We Do to Reduce the Time to Market of Your App.
However, you need to consider this before starting your Ruby on Rails project: The productivity boost that Ruby on Rails offers can sometimes turn into a double-edged sword. The easiness of adding new features very fast, left in the hands of inexperienced developers, can lead to projects growing without control, hence impacting in the future maintainability and the costs of adding new features. This is one of the main reasons why we recommend searching for a good and reputable Rails development team before starting your project.
2. Code quality & maintainability
The second reason why our clients love Ruby on Rails is because code is easy to read, and therefore to maintain.
At MarsBased, we are in for the long term. Our average project has got a development phase of three to six months, but most of our clients choose us to maintain the application, once the development has finished.
It is, therefore, crucial that we develop using best practices. As a matter of fact, we use one of the most used Ruby style guides, which is based on the AirBnB Ruby Style Guide.
Ruby, as a programming language, prides itself on its culture of quality, as opposed to other well-known languages, such as PHP or Java. The Ruby on Rails community really strives for clean and readable code, exhaustive testing coverage and good documentation.
Our clients really value this because their internal teams can pick up from where we left without too much learning overhead, thus making the transfer of knowledge painless. Moreover, sometimes our clients do not replace us but bring in their teams to do the low-level tasks of maintenance while we keep doing the high-level work like upgrading versions, adapting architecture or helping the app to reach new levels of speed, scalability or functionality.
To sum up, cleaner code is a good investment for the long term: anyone joining at a later time will not find it difficult to understand it and will be more productive when maintaining the platform, adding new features or fix bugs.
3. Adaptability to changes
Because Ruby on Rails was designed specifically for the web world, it doesn't carry too many legacy design decisions like other frameworks or programming languages. It was designed for the web, and it is built on top of Ruby, which is a very flexible language, therefore well-suited for agile development.
Why is Ruby flexible? Well, you can extend the language very easily (you can even add methods to nil!) and build domain specific capabilities. This means, that you can build DSLs easily (Domain Specific Languages).
This flexibility, ultimately, will help you to pivot faster and meet all the requirements that nowadays' ever-changing market, your investors, clients or your users will require of your app.
Also, Ruby has been used to build very different apps like Twitter, Basecamp, Github, Dribbble, Soundcloud, Redbooth, AirBnB and Shopify, just to name a few.
4. Consolidated technologies
One of the main false myths we bump into when talking about Ruby and Ruby on Rails is that neither of them is a consolidated technology. Or, in other words, they're too new.
Ruby, for instance, was developed in the mid-90s, and later released in 1995, by Yukihiro “Matz” Matsumoto. Ruby on Rails, the framework, was released in 2006.
This means that Ruby has been on the market for 20+ years, while Ruby on Rails has been around for ten. Both language and framework are solid and stable enough as languages and enjoy a considerable market share.
Ruby has, in fact, reached its highest position ever on the TIOBE Index this year, which lists the most popular programming languages.
In the previous section, we mentioned some of the biggest players that use Ruby and/or Ruby on Rails as the main tools to build their projects. Some other big players use them in very specific areas. For instance, the NASA uses Ruby as a scripting language.
Find out other success cases, including Google and Motorola, in the success cases sections on the Ruby website.
5. Easy to attract talent
Let's admit it: while it is not as bleeding-edge as it used to be, Ruby on Rails is still considered trendy among developers.
Rails has survived the new wave of new programming languages such as Node.js or Elixir, and the number of Rails developers is increasing. Proof to that, there are a lot of developer bootcamps (like our buddies Ironhack) that train new batches of Rails developers every term.
Developers coming from other backgrounds, especially more corporate or even old-school, if you will, languages will eagerly change to Ruby as a new challenge. Developers already working with Ruby know that changing projects is not a pain in the neck, as it might be with other languages where code quality is not enforced.
If you want to hire Rails developers, you might want to contact specialised development agencies like us, as we have already scrutinised the market and maybe even interviewed them.
Hopefully, we will have helped you to make a decision when choosing technologies for your next startup or project. If not, what other concerns have you got?
At MarsBased, we believe that Ruby on Rails continues to be the best choice for starting any kind of project. It's mature enough for big companies and corporations to adopt it. Plus, Rails continues adding state-of-the-art technologies like web sockets (see Rails 5 release notes) that developers love.
Make sure you comment in the section below, or else drop us an email and we'll be happy to jump in a call to explain the many virtues of developing your app using Ruby on Rails.