There is a lot written on that topic, but I feel that there isn’t enough clarity, so I’d like to put out my expertise. And for the sake of not creating another philosophical article on the existing platforms, I’ll try to be as specific and practical as I can be.
In this guide, I’ll be talking mostly about the back-end part. And since I haven’t used all the languages or frameworks — I’ll only talk about the ones I know well. That would be Ruby/Ruby on Rails, Laravel (PHP), GoLang and NodeJS.
Rails has been super-hot in a startup world and my personal
favorite for a fair share of time. Now — it seems like the platform
had seen better days, but I wouldn’t say, you should put it off the
The best qualities of Rails are the ease of understanding, the speed of development, and a huge community (meaning, a huge number of libraries and extensions to fit your product needs). In my opinion, the best use case for Ruby on Rails is when you have a startup idea and need to validate it quickly.
It’s basically a go-to option for MVPs. But if you work “by the book" you may have heard that an MVP should never be transferred to an actual product. Hence, once you know, your product has potential — you need to build the full-featured version from scratch rather than just building on top of what you have.
This is where things can get complicated. In my experience, when business-logic kicks in and you have to make custom non-conventional stuff — Rails no longer plays well, which results in a lot of piled up quick fixes and bigger effort to maintain stability. Also, the speed isn’t as good as it might be on Node.js or GoLang.
Another issue, that I see is that Rails still falling back, trying to move away from a monolith architecture. In these times of single-page applications, with React, Vue, and Agular — it gets very hard to compete by having only API mode. I guess it’s the lack of competition that caused Rails to fall out of the “top picks”.
But I wouldn’t wanna trash talk the platform, it can still be used successfully in certain cases. Also, you can achieve a very good result by using native Ruby, with Sinatra or Grape API frameworks and Sequel library for database querying. This toolset will give you the ability to use the single-page application, better speed, and long-term maintainability, plus — pretty much all the perks, that Ruby itself has to offer.
Join our beta to get lifetime superuser access & learn from the smartest business minds on the planet web 🧠 😎