Often side projects or even your main project need to be done quickly and delivered to people and learn from what they’ve got to say and well-informed decisions instead of endlessly building what you think is the perfect solution.
Getting this momentum, especially at an early stage, can give you a lot of advantages over your competitors. Both technically and marketing-wise.
But Rails isn’t always the right choice, there are many other alternatives.
Unlike in 2010, we now have many more options than just .NET, PHP, and Rails for building backend applications.
But the decision to choose a tech is crucial, which will probably define how your app is going to be.
We are naturally attracted to the new kid on the block. There will always be newer technologies but the real question to ask here is would you like to always just keep learning the new technology or would you rather build your idea in that time.
If you’re reading this, I assume you already know rails, if that is not the case, read an article here about whether you should consider learning rails.
Rails follows a ‘no-nonsense’ approach, meaning you code only what is absolutely necessary and let the framework handle rest. Even after 15 years, it does better than most other backend frameworks.
When is Rails the right choice
1. If you want to get a prototype of your app out quickly
One of the main reasons people choose to use rails is because of its convention over configuration approach which a lot of people may not like but honestly do we really have enough time to build everything from scratch.
The power of ‘convention over configuration’ approach can really be seen when you are building a prototype. A few commands in the terminal and there you have it skeleton of your application is already built and as far as extra features go you can always keep adding gems
2. If you are proficient in Ruby
There is no changing your mind if you already know and like ruby, Rails is obviously your choice
3. If you find a gem that pretty much solves your biggest problem you’re trying to solve
One of the best things about using Rails is there are so many gems out there that almost anything you want to do there probably is a gem built with exactly that in mind.
4. If you are building apps under one of these categories
- Mainly CRUD
- needs content management
- Social networking (or similar architecture)
When you should not use Rails
There are few cases in which you shouldn’t even consider using rails
- You do not like Rails
You should absolutely not consider rails if you don’t like the way it is. It is neither good for you nor your project instead go with something you prefer using.
- You’re building an API
Rails is good at many things, but I think you may be better off with something more lightweight than rails.
- You are new to backend development
If you are new to backend and want to choose rails unfortunately, you rails may be too complex for you to properly understand what exactly is going on.
Misconceptions you may have about RoR
- It has become a sort of urban legend now to say that ruby/rails is outdated and dead
- It is not scalable and slow
Yes, twitter had issues with scaling it’s application (but really, is your app as big as twitter?) and yes rails isn’t as fast as many of its competitors, but it also how you choose to write your code and server’s configuration and optimization can make all of the difference.
So if you are about to start working on your idea and want to build it fast while keeping it secure and easy to read code and build only what matters and leave the rest to the pros consider using Ruby on Rails.