DEV Community

Discussion on: What's the state of Ruby? Is it trending down for good or just settling in to a mature niche role?

Collapse
 
kgilpin profile image
Kevin Gilpin

Rails is special because it's good at so many things. It's easy to get started, it's got a best-practice gem and reference architecture for just about everything, and it can scale up in project size just about as well as anything. It's also good at lots of different jobs - but as other commenters have said, most apps are being built these days with an API-server backend (rather than server-side view templates). So, some of the things that Rails does well are less relevant today than they were when it was younger. As an API server backend, there's also more competition. Writing an API server is less complex than writing a complete app using view templates, simply because the backend does fewer jobs. Of course, this complexity has just been shifted to the front-end, where the JS framework wars now rage...

Let me net this out :-) When Rails was created, Rails was the entire app. There was generally no separate front-end aside from sprinkles of JQuery. Rails did a ton of stuff that other frameworks could not compete with. The competition (JSP, 10-years-ago-PHP, CGI bin scripts) was poor. Now, the job is easier, because backends are mostly JSON API servers. And there are a lot more frameworks that are capable of doing that. So, developers have a lot more options now to get the backend "job" done and that alone might be driving a decline in "market share" for Rails. There's just more competition.

By the way, despite all the debate about what framework is the best, the choice of framework at many successful companies is driven by just one factor - which has almost nothing to do with technical superiority - it's the one that the CTO used to build the prototype. This original app often becomes the "money maker" code base. Subsequently, some microservices are sprinkled around it to flesh out the functionality and make it more powerful; but more often than not, that original repo lives on for a very long time.