Ruby on Rails vs. Node and the MEAN Stack

node-and-railsRecently I decided it’d be wise to seek out some consensus as to where the future of web development is going. After all, the best way to be position yourself to be a successful developer in 2017, is to know where the trends are heading in 2016. It’s certainly one factor to consider, anyway. Web development trends influence startup business decisions, which later become factors influencing how new and existing developers make decisions about what languages to focus on. In other words, every factor influences every other factor, much like climate change.

What I found interesting, as I perused “the Internets” for some clarity, is that said clarity was very hard to come by. In fact, the harder I looked, the more I found completely divergent views – stated in equally, shall we say, “vigorous” terms. Here’s one article, for instance, coming out strongly against Rails as an option for a new startup. And here’s another article stating exactly the opposite – that one SHOULD choose Rails for a startup. Bottom line: there was no real consensus. And not only was consensus lacking as to where things were going, but even in terms of from where we have come. And, of course, once you realize we can’t even agree on the past, you know future-casting is going to prove dicy, to say the least.

The thing is, sometimes that makes discussion about these trends a little like war. No, not the global thermonuclear kind, nor even a gorilla war, but a war of words; a war of perception; a war of spin. Again, this is because one widely shared article can begin to shift perceptions – and this can and does happen, regardless of how factual said article actually is. That’s why people react so strongly when they see what they perceive as an incorrect, or only partial, perspective beginning to gain steam. They know reality of tomorrow can be shaped as a result, and they have a vested interested in it going one way and not another.

But here’s another thing: everybody has a vested interest. Why? Because everybody is coming at the question from a particular context; and thus a particular bias. Is someone who’s firmly planted in the Ruby camp going to be completely objective about evaluating Node and the MEAN stack? No, of course not. And the same is true for those coming from the Node side of things. And it’s not even that they’re consciously being deceptive, or deliberately misrepresenting the truth. No, they just really see things from different vantage points. And as such their legitimate answers REALLY ARE DIFFERENT.

It really is as simple as that. Sometimes people will be doing their best to portray the truth, and will still see it differently – statistic quoting and Google trend discussions be damned. And this is because “accurate”, “objective” trend analysis is only so possible. You can go a ways down that road, but never really say you’ve arrived. And, if you’re honest, you’ll eventually see that the very road you chose to travel to get where you are changes how you see the lay of the land in front of you. Strange but oh, so true.

So, all that to say, what can we glean from all of this? One side says that Node and the MEAN stack is trending northward, and is therefore already the clear winner for web development in 2017. Ruby on Rails enthusiasts will argue that RoR’s current trend stasis is a sign of language maturity, not of inevitable decline. While the MEAN stack has done much to close the gap in terms of community support, Ruby on Rails supporters will argue that it still just doesn’t have the well-established libraries to compete with Rails. The MEAN stack is young and already fragmented, Ruby is relatively slow in comparison with Javascript. Rails is automagical, enthusiasts will point out, while detractors will claim it is just too much so, and that it leaves best OO practices in the dust at times.

Ah, what is one to do? Well, keep in mind what I said about context: sometimes you’ll find two divergent answers to a question, because there really are two (actually usually many more than that) ways of seeing it. Would we really expect any less? And, finally, if we’re smart, we’ll realize that this lack of clear consensus is itself a kind of consensus, suggesting that both Ruby on Rails and Node and the MEAN stack will be in the forefront of web development in 2017. So if you’re going to make a decision as to which one to focus on, maybe make it for reasons other than one or more person’s opinion about a supposedly clear consensus.

As for me, I’m keeping an open mind, and keeping a foot in both camps – at least until I’ve come to some of my own conclusions. But of course, even those conclusions will be subjective and inevitably tied to my own particular history and context.

Posted in Musings, Web Development Tagged with: , , , , , , ,