tl;dr Yes.
Ruby on Rails has been a production-ready framework since its maturation phase in 2008. When Rails became deployable without an operations team. We gained dangerous ground in the community. The best parts of Rails (MVC, convention, flexibility, active community, and extendibility) are as relevant today as then.
Rails could use updates in some areas. The front-end integrations and the clarity of documentation for performance scaling are challenging for development teams. These updates are things our community can improveq.
With all the other frameworks you can choose to solve problems Rails should be considered for these reasons:
1. Rails is lightweight.
A common misconception is Rails is designed for large monolith applications. Rails does have all the tooling to build big systems, but it works great for single responsibility applications and architecture middleware. Service-oriented architecture can illustrate many single responsibility applications.
Experienced engineers will see Rails as a collection of libraries. ActiveJob, ActiveModel, ActiveStorage, and ActionCable give Rails a lot of firepower for free. Engineers then have the flexibility to choose the default, pick an alternative, or write a substitution.
For example, when you need to move data from a transactional application to a data warehouse. A Rails application can have a few models to run ETLs. My teams have found this can be much simpler, easier to configure, and cheaper than purchasing an ETL SaaS integration.
Rails is not as light as your favorite Javascript library or framework, but once you add all the required resources, Javascript blot takes center stage. I caution the marketing messages of so called ‘lightweight’ frameworks. Patching together ten or 12 lightweight frameworks suddenly becomes heavy.
2. Comprehensive testing integrations
Non-Rails QA teams are dumbfounded when I demo the ease to test an entire application in one run. Unit, functional, and integrations tests are available with mature and easy to use integrations.
All made possible with RSpec and Capybara.
There are multiple ways to
3. Mature streaming protocols
The Rails team has focused hard on making the streaming library ActionCable an enterprise tool. Rails event streaming started to make a debut in Rails 3.x, but it wasn’t until Rails 4 that the use of WebSockets matured, and in Rails 5.x it stands up to
Today we enjoy the benefit of the streaming features. ActionCable has become a familiar addition to the Rails suite. Use cases are monitoring changes and updating clients in real time, messaging systems without integrations, and knowing if your users are online now.
4. Integrations
Today’s software themes revolve around data science, cryptocurrency, and DevOps. Rails provides a set of tools making it a natural choice for abstraction of these problems. User management, simple deployments, and client/server customization can help business get off the ground quickly.
5. Flexible by nature
The Rails framework meets business goals by accounting for quick changes. In hours (not days or weeks), a feature can be written, tested, and then deployed to a production environment. There are multiple versions of libraries solving the same issue (Google: Rails state machines). Choice allows developers to implement a solution quickly. The developer can then evaluate with a product owner the efficacy.
Teams who get features in front of customers quickly, can iterate and adapt to what the market needs. Whether it is an A/B testing implementation, analytics, ease of feature development, or real-time messaging Rails can account for the solutions essential today.
Your business will change, can your architecture shift with it?
To close, There are many great frameworks to choose today. Many share the principles above. Rails has been an essential member of the developer’s toolkit for years. As data-driven application development has matured, the Rails team has added to the feature set making it a viable choice today for product development on the web.