The decision of which framework or language to choose from is not a simple one and rests on both the company values and project values. For simplicity’s sake, we can refer to values or priorities.
What’s more important?
Speed of feature development?
Can the app support hundreds of thousands of users concurrently without major redesign?
How easy is it to change application features down the road?
How easy is it to hire people with the right skillset
The community behind the framework/language?
- Community values
The values behind the framework/language, and do they match projects?
In my experience, Ruby/Rails software engineers tend to be good at:
that’s why Pivotal Labs consultancy chose Rails as their primary framework
which means — maintainability in the future
rails apps are laid out very similarly and most rails devs know where to look for configuration
- Object-oriented design
The community has very strong OOP design principles, and some of the best books on the subject, such as POODR
Other languages don’t have a single comprehensive web dev framework that automates everything from DB migrations, to secrets encryption, sending/receiving of email, in addition to the MVC, etc.
Hiring for Rails
|Rails today is used to power nearly 3M websites worldwide according to the website trends.builtwith.com/.|
Where do all of these engineers go? They will all be available for hire for decades to come.
Recent Rails Apps
The HEY stack:
Vanilla Ruby on Rails on the backend, running on the edge
Stimulus, Turbolinks, Trix + NEW MAGIC on the front end
MySQL for DB (Vitess for sharding)
Redis for short-lived data + caching
ElasticSearch for indexing
|Personally, I would never use MySQL — I am a big PostgreSQL proponent for various reasons, from licensing to features, to scaling it. So that this blog post is my take on web development and Rails.|
So, NO — I don’t think it’s dying, if anything it changed from being the cool new kid on the block to a "pro" athlete that nobody can beat at the game. Yet.
Django is probably 2nd best choice of all shown, but it was always copying Rails' features to Python, and always a step behind, but never ahead. If you have a lot of people with Python knowledge, then, by all means, Django is a good choice. But that applies equally to Go and Rust. If you are outsourcing these apps, you want to optimize the cost of development, which is likely to be the cheapest with Rails and the fastest with Rails.
February 1st, 2021.