Live data from Hacker News

Why I believe Rails is still relevant in 2019

devbrett.com

41–50 of 264 posts

Re: Why I believe Rails is still relevant in 2019

#41
Rails is fine but didn't age well, specially the lack of strong functional programming support. Other nag is that it's hard to not do things the rails way - this monoculture reinforces the appearance that is fine because people looking to do something different just don't use rails. And when you "scale" rails is not really rails that scales as much as it is the architecture - it could be applied to other frameworks. Still if you are familiar you can write stuff really quickly.

Re: Why I believe Rails is still relevant in 2019

#43

Earlier quoted context omitted.

Their opinion is coffeescript + turbolinks, which turn out to be the first two defaults developers change.

I mean something like Typescript with an opinionated library/framework for client-side part.

Okay, I have lots of good news for you.

First, CoffeeScript is formally deprecated. Turbolinks sucked, but Turbolinks 5 is an entirely new beast and it rocks. You need to give it a second look. I recommend this talk, sped up to 1.5x:

https://www.youtube.com/watch?v=SWEts0rlezA&t=3m22s

Finally, there absolutely is an opinionated client library that is designed to pair beautifully with Turbolinks 5. It's called Stimulus and it rocks.

https://stimulusjs.org/

You can play with all of these frameworks using the --webpack parameter:

rails new future --skip-sprockets --skip-coffee --webpack=stimulus --database=postgresql --skip-test

As a bonus for anyone starting a new Rails project today, you're going to want to bookmark https://gist.github.com/andyyou/834e82f5723fec9d2dc021fb7b81...

Let me know if you have any questions.

Re: Why I believe Rails is still relevant in 2019

#44
I don't know how to quantify how relevant Rails is today, but I do think it's interesting to explore why Rails isn't as popular as it once was. I remember just eight years ago, Rails was on the HN frontpage almost daily.

Some ideas:

I think the most critical trend has been the dissemination of the Ruby ecosystem's most popular and best ideas into every other ecosystem, which I would summarize as a culmination/caricature of a movement that was already in motion thanks to other ecosystems like Perl and Python. Rails was such a massive hit because it was a stark contrast to the tropes of complexity that came before it like endless XML configuration and IIS. I think Rails was a symbol of this whole renaissance, not single-handedly, but because it coincided so well with a critical-mass milestone in our industry and hit so hard with this cult of "fun and easy". And these days were back when https://rack.github.io/ came out and Zed Shaw wrote Mongrel which was Twitter's first web server and one of Ryan Dahl's inspirations for Node.js.

These represented identity-level changes in tech and its crescendo into the mainstream, not ideas that would merely spark and die in the Ruby ecosystem, so it's no surprise that Rails cannot command the same gravity over time.

Another trend has been the popularity explosion of smaller and simpler solutions over monolithic frameworks. For example, trending away from things like GWT and ExtJS and Ember and Meteor. Trending towards things like React and Express. No Rails analogue caught on in Node or Go and nobody cares.

There's also the explosion of Javascript which became such a viable alternative to other dynamically-typed languages (particularly Ruby in this context) that "why should I pick Ruby?" became a harder and harder question for beginners to answer.

Finally, there's the explosion of choice. One back-end application framework just can't dominate HN anymore like it could in 2007. I think React is the modern repeat of Rails in the sense that it popularized a new paradigm of building applications. And I think React will go the way of Rails in the sense that its ideas will become so ubiquitous that React itself won't stand out anymore, like when we see UIKit2 adopt these sorts of unidirectional data flow and FP ideas as a core first-class abstraction. And we'll get so used to it that we'll wonder "so what was the big deal about React again?"

Rails is certainly still amazing software and is clearly still improving. I generated a fresh Rails project half a decade ago after a long hiatus and was blown away when the error page in the browser had an embedded Pry REPL initialized at the error's stack frame iirc. That's some wtf-level polish. And I can only imagine how much better Rails has become since.

Re: Why I believe Rails is still relevant in 2019

#45
post #38

Aren't some large at-scale apps still on RoR? AFAIK Coinbase, Shopify, Twitch, etc...

Having to support a legacy RoR monolith and being happy with it are 2 different things. How many of those companies are now supplementing the monolith with microservices in other stacks and are actively chopping up the monolith? I know at least 2 of those companies are doing just that.

Right, but that's just because those companies have grown to a certain point where it's hard to remain productive with a monolith. If you are starting to have scalability issues it makes sense to rewrite key hot code paths in a language faster than Ruby. That doesn't mean using Rails when they started out was the wrong choice though.

Re: Why I believe Rails is still relevant in 2019

#46

Earlier quoted context omitted.

I mean something like Typescript with an opinionated library/framework for client-side part.

Okay, I have lots of good news for you. First, CoffeeScript is formally deprecated. Turbolinks sucked, but Turbolinks 5 is an entirely new beast and it rocks. You need to give it a second look. I recommend this talk, sped up to 1.5x: https://www.youtube.com/watch?v=SWEts0rlezA&t=3m22s Finally, there absolutely is an opinionated client library that is designed to pair beautifully with Turbolinks 5. It's called Stimulu…

Thanks, it's an almost complete guide. But there's one important missing piece: Universal routing. How about taking the routing config which can be applied for both server and client ?

Re: Why I believe Rails is still relevant in 2019

#47

As an individual developer, I don’t know a platform and framework that lets me do more with my time. I used rails recently for a new project to act both as the backend for an iOS app, an auth management system, a asynchronous worker manager, an upload manaager, and BI tool. Combined with the mature gem ecosystem and clear mechanics for putting everything together, I was up and running immediately, and was able to con…

I replaced `rails` with `Django` in your statement (and maybe could do the same with Node.js), and it reads the same. Guess it's just about being familiar with a mature ecosystem you already know, and then you can achieve results.

Agreed. Although I do Rails and have no experience with Django I know Django is the same.

To my knowledge tho, I do believe those are the only 2 framework that offer so many plug-and-play, trustable component for everything, allowing you to be up and running so fast.

I've built similarly large systems both with rails, flask and nodejs. Nodejs environment was definitely the worst, on every front, and I coming back to something like Rails always feels like I have so much more power.

Re: Why I believe Rails is still relevant in 2019

#48

Does any free web framework have something more thorough than rails' Active Admin? Django admin seems pretty unfinished by comparison. Haven't seen anything actually better.

I have worked with Django a few years and I only use the Django Admin initially, to confirm a couple of things and maybe experiment with a data model. Within a few days I usually remove it. There is no need for a production system to retain the Django Admin, in my opinion, but others may disagree with me here.

Re: Why I believe Rails is still relevant in 2019

#49

Does any free web framework have something more thorough than rails' Active Admin? Django admin seems pretty unfinished by comparison. Haven't seen anything actually better.

I've tried to work with ActiveAdmin on several consecutive projects, and I do not understand the draw. It's a fussy DSL that requires you work with your data in a way that feels very un-Rails. You basically have to approach building out your UX from the perspective of what the tool is designed to do. This seems a shame, in the context of Rails - a framework that's actually pretty great at getting out of the way in th…

I hate ActiveAdmin because of exactly what you say, but tbh it is indeed a very powerful tool and still allows you to very quickly spin up admin pages (to a certain limit, but this limit is pretty high). I yet have to find something similar.

Re: Why I believe Rails is still relevant in 2019

#50

I work on a Rails system. It's fine. Just like everything else is fine. I have problems, but I have problems with everything else too (sometimes different problems, but not always...). I think my main complaint about Rails is that it's pretty heavy weight. Lately we did a Sinatra app because we didn't really need anything that rails was giving us. Fairly quickly I realised that I didn't need anything that Sinatra was…

I've found it kinda weird how Rack isn't emphasized in the Rails tutorials. It's really one of the crown jewels (heh) of the Ruby ecosystem. I suppose Rails wants to abstract away all the nitty gritty request based stuff but it's really powerful if you know how to use it.
Post reply on HN