Ruby on Rails continues to thrive

41 pointsposted 5 hours ago
by ksec

34 Comments

brtkdotse

2 hours ago

Y'all should look at the rest of the site. This is written by a content farm. These kinds of "blogs" serve the purspose of building up authority with google by writing waffer thin but linkable articles (as shown by it appearing on the front page of HN) and then sell backlinks to online casinos for SEO juice.

You've been bamboozeled.

xNeil

2 hours ago

Am I the only one who sees that the entire website is AI generated? Their categories make no sense, neither does their homepage. Weird.

user

2 hours ago

[deleted]

bryanrasmussen

2 hours ago

Has there been any framework or library that has had the reach of Ruby on Rails in the last 2 decades that has died?

ivell

2 hours ago

Apache Struts is pretty much dead as in not many are using it.

user

2 hours ago

[deleted]

duckmysick

2 hours ago

Not sure if it fits your definition, but how about Flash/ActionScript/Adobe AIR?

psychoslave

an hour ago

They were not FLOWs however, so the day Adobe decided it was an unprofitable expense, it was dead.

xelamonster

3 hours ago

Rails won't die because Ruby is nice to build with and Javascript is a sadistic nightmare. I don't use it myself but I absolutely see the appeal. What more modern alternatives even attempt to compete on DX?

devjab

2 hours ago

I think JS can quite nice but it requires some rather tight control over how it’s used in your teams. If you don’t do that then it’ll be a nightmare, but that freedom doesn’t necessarily mean you can’t make it a fairly decent experience. I do think React has become a terrible framework to work on after their love relationship with Next which is… well just horrendously bad, especially if you don’t buy into the whole Vercel thing, but using that is still a choice you don’t have to make.

With that said there is no doubt that things like RoR, various Python frameworks, Go + templates or Laravel are massive improvements. Especially for internal apps where things like HTMX coupled with templates lets you be extremely productive without scaring middle-managers who are afraid of page reloads. I know something like RoR, Laravel or Django aren’t hyped in tech communities, but in the “real” world where being productive matters a lot more than the underlying tech, which is where (as you point out) they continue to deliver great value. Meaning that they’ve got massive staying power. Being “old” typically also means they undergo much more reasonable changes than your average JavaScript framework where you sometimes might as well pick a completely different one on major updates.

arnvald

2 hours ago

I agree, I’ve been working with other languages and frameworks and in my opinion nothing comes close. People often mention Laravel as comparable or even superior, but having worked with it for a year I struggled a lot with how messed up PHP is (even with all the improvements done over the years.)

JavaScript doesn’t have anything comparable either, although I haven’t worked much with NextJS with server-side rendering, maybe this brings it closer to DX of Rails

vr46

2 hours ago

I worked on a Laravel/Next.js project last year and couldn’t believe how much stuff you didn’t get for free, from debugging PHP to building the assets.

Rails JS build support is confusing and messy, but seems to be under control now, and is as much a fault of the JS ecosystem/hellscape as the maintainers. Turbo seems a bit uncertain too. But on the whole, it is ridiculously easy to get stuff done.

Things I would like addressed better:

* Authentication and Authorization

Actually, that’s it.

imjonse

2 hours ago

auth generators are being done for 8.0

lknuth

2 hours ago

Elixir and Phoenix/Ecto is much superior to Rails IMO.

My main gripe with Rails are conventions everywhere which aren't documented clearly. You just have to know them/learn them over time/from guides. It makes refactoring really hard, too.

out_of_protocol

an hour ago

Well, Phoenix is basically fixed Rails. Most (or all) good bits kept as it is while getting rid of many, many cons

rapsey

2 hours ago

Everything is superior to js, but js has the most important factor of low barrier of entry.

appendix-rock

2 hours ago

There are other languages in use that are inferior to modern-day JS. JS is far from perfect but it’s also carrying cultural baggage. People that bash JS and proceed to sing the praises of Perl are just…well, at this case it’s clear that this is more of a culture war than anything else.

nsonha

2 hours ago

that's nonsense

Ruby, Python and JS are all at about the same level of difficulty, most of the semantic is the same. If anything, the messiness of the language and ecosystem is the higher barrier of entry (Python and JS).

JS is popular because it has the monopoly on web browser runtime. Python is more of a direct competitor to Ruby and its success is indeed due to low barrier of entry. Non-professionals, including data scientists, picked it up and the rest become history.

And not everything has to be logical, PHP for example is just a shit language, not easy, nor powerful in any metric, just happened to be there at the dotcom boom.

arrowsmith

2 hours ago

> Ruby, Python and JS are all at about the same level of difficulty

Hard disagree. Whenever I have to write JS I'm always amazed at how much boilerplate is required to do things that are extremely basic in Ruby or Python (and I don't like Python at all, but that's another matter.)

E.g. in JS I have to install a utility library like Lodash to get basic iteration functions that in Ruby and Python are part of the standard library.

nsonha

2 hours ago

If anything that's the opposite of the point GP was making (low barrier to entry)

arrowsmith

2 hours ago

Phoenix, and it's not even close. I'm never going back to Rails.

oezi

3 hours ago

As an occasional user the Rails experience has suffered quite a lot over the years because the Javascript and CSS integration has become really unclear.

The options and combination are too many, the work to change something too great for the single developer. It is okay if you want to use Tailwind or Bootstrap.

I confess I don't get what importmaps really do (how can they get rid of the need to precompile js assets?).

bitcoinofficial

2 hours ago

Rails offers a choice of: webpack, esbuild, rollup, bun (since Rails v.7.1 I believe) and importmaps (default).

At least 5 built-in ways of doing JavaScript. And there are many more outside that, of course. None of these is Rails' "fault". That's the world of JavaScript, how it is.

As for the assets - Sprockets or Propshaft. The latter will replace Sprockets in new Rails versions.

masa331

2 hours ago

I develop a lot in Rails mostly as a single developer and and it's totally ok. With CSS and JS you can pick the approach you like and just stick with it. Importmaps(which i don't prefer myself btw) are the current default but it's very easy to use the older Asset Pipeline without any problems.

And frankly importmaps or the other possible aproaches are not so hard to understand. Any serious developer should be able to learn that. It's also not a Rails thing, it's just web

oezi

2 hours ago

If you don't use importmaps what do you use?

masa331

an hour ago

Well i'm using importmaps on some projects but mostly i stick with Asset Pipeline and that is for new projects also. Over the years i iterated towards a setup which is very efficient and simple to use which is to have light JS dependencies and no JS frameworks. And when the need for complex client side arises i use Elm which is a joy to use once you get through the learning.

Also the Asset Pipeline stack is getting even lighter nowadays since with CSS nesting and other new features you can drop SASS completely

mylons

2 hours ago

the path forward is clear, and it’s no build/importmap based. i just overhauled a 15 year old rails project from rails 4 to 7, and ruby 2 to 3. ripping out webpack reduced deploy time by 90%

the complexity of the app is greatly reduced as a result.

oezi

2 hours ago

And what do you use for CSS?

mylons

10 minutes ago

the project had some sass i didn’t want to port back to css. i’m using dartsass to compile it to css which is a recommendation in the rails guide.

ghiculescu

2 hours ago

You don’t need to “use” anything, browsers have very good CSS support these days.

nsonha

2 hours ago

nothing ever dies, but that doesn't say anything useful for most of us, building system that is practical today and continue to be PRACTICALLY maintainable for about 50 years.

user

27 minutes ago

[deleted]

Noumenon72

2 hours ago

The scaffolding and convention over configuration argument just weakened; ChatGPT can set up a new project for you with whatever boilerplate your language needs.

psychoslave

an hour ago

That's not my experience yet. I don't need to fight against a prompt eater that generates tremendous amount of nonsense that it will pretend to apologies about when you start to point every flows present in its output, having to deal with even more large amount of thoughtless suggestions as a result.

When you use a scaffolding script from Rails or similar, the result is always consistent, and errors will most likely be coming from the command used than from the fundamental way the script works.