Out of the many popular backend web technologies out there (like Node.js, Django and Laravel), many startups are choosing Ruby on Rails, a mature framework created in 2004. Why haven’t they moved on to something more modern and exciting? The answer is simple: because Ruby on Rails works, and it works fast. And here’s why.
Stability, trust and rapid development
Ruby on Rails is a stable, tried and true technology, used by industry giants like Github, Shopify, Airbnb, Twitch and SoundCloud. The framework (Rails) and the language (Ruby) have been around long enough that the community around them has produced a good amount of battle-tested libraries. These Ruby gems are ready-made solutions that prevent programmers from reinventing the wheel. Development is made much faster because the code is already written. Startups using Rails can thus quickly release MVP versions of their products to test the concept and gain traction. The community is robust even after 14 years, and the technology gets high scores on programming language popularity rankings.
Built-in functionality
The Ruby on Rails framework includes many built-in mechanism which are easy to use and provide a quick way to solve particular problems. If you want to keep your files in AWS, for example, Rails have an in-built integration with Amazon that will allow this without a hassle. Rails also support websockets, which, among other things, allow for real-time chat to be built into your app quickly, by using pre-prepared resources.
Ruby on Rails boasts a whole ecosystem of pre-prepared and well-tested functionalities. They work as plugins created by the community, and they can be introduced into your app wholesale. One example is user authorisation, login and registration (the gem in called Devise). Instead of building such a module for your app from scratch, you can use an already existing gem and have it done, just like that.
Convention over configuration
Conventions over configurations - it’s easy to configure your app or each Ruby gem by following Ruby conventions. There’s no long list of default settings. You can customize everything to your liking early on without going out of your way.
One example is the creation of friendly URLs that index nicely. It’s obvious that `http://blog-name.com/category/post-title` is a much better URL than `http://blog.com/post?name=parameter&other=parameter`. Here’s the URL of the website of one of our clients as a real example: `https://www.matuse.com/products/wetsuit-fullsuit-hoplite-43mm`. Friendly URLs are one of the many community conventions that are greatly appreciated by Ruby developers.
Security and testing
Ruby and Rails’ creators, along with the community, always put a lot of emphasis on ease of testing, introducing tools like useful and meaningful error reporting in the development environment or detailed logs. These logs are created as an application is built, which means that developers have a much easier time catching bugs later on.
One of iRonin’s clients, a employee referrals platform, deals with a huge amount of data from external sources. The data is the formatted in various ways, and it’s only thanks to detailed logs that we are able to properly support and maintain each formatting option.
Flexibility
Even when a detailed development plan is prepared before work begins, circumstances change. Luckily, with Rails, it’s not a problem to change the database engine during development without rewriting the app’s code. All you need to do is make a few tweaks to the configuration file - and work can go on as if nothing happened.
This was a big advantage for our HR-oriented client. Their app needed two APIs, one for a mobile app and one for customers who preferred sending data via the API rather than through a standard integration. Thanks to Rails’ elasticity, this could be achieved with very clean code.
Ease of integration
Most modern apps are build with JavaScript frameworks like React, Angular or Vue on the front-end. Because Rails is easy to integrate with these frameworks, the JavaScript code can be written within the Ruby on Rails app. This is a way to speed up development when all you need is a small JavaScript functionality and writing a whole separate application for it would be a waste. Another option is to build the back-end and front-end separately. They will communicate via an API. iRonin’s internal time tracking app, PM Sentry, is built as a Chrome extension and a separate browser interface, both of which are JavaScript apps and use a Rails app for the back-end.
Ruby on Rails for startups - a good or a bad choice?
In most cases, Ruby on Rails is the perfect solution for a startup developing a new product. Because Rails apps can be developed so quickly and easily, the technology supports startup growth and helps in keeping time to market short. Even a small team can do this, or a few hired external experts. The technology is stable, well-supported with a wealth of resources and a thriving community, and it’s flexible enough to work for almost any web application.
Have you decided that Ruby on Rails is the right solution for your business?
iRonin’s team of experts offers Ruby on Rails outsourcing and consulting for clients around the world. Find out whether we’re a good fit for your company.