I am not sure if node is still a viable web backend runtime. When it released originally, it contended with the likes of django, and RoR, but now we have much saner options like Rust, Go, Elixir on backend, I am not sure if the original appeal is there any longer.
Edit: By “saner” option i meant more scalable, performant and maintainable using stricter types.
It is because JS is used for frontend and fullstack is a thing and for business logic language doesn't matter and TS is actually quite usable.
Go and Rust eat mostly on perf heavy code and are more for rewrites that iterating on first version. I guess Go is also used at enterprises more as it's stable and has good libs. I would say that Go and Node are still eating some of Java lunch.
It's just that quality of libs in nodejs is kinda bad - especially for DB stuff. Prisma is something that starts to feel nice but not 100% sure how reliable it is. Lack of something like Rack or WSGI means there's little competition between web frameworks. Nest.js solves that a little. There's just isn't any big corporation using node for something serious or we would have good backend libs. Everyone uses Java or Go.
Ruby has Github and Shopify that pull it up but what's there is nodejs land? Only Meta (now Vercel?) with React from big players. Probably some current startups that will grow big will invest more in JS land. Seems like only VCs are interested in lowering the cost of business and throwing everything at cheap fullstack devs offshore :P
Ruby out of the box experience was nice but now you can have the similar with Next.js. Python seems to have fine libs but documentation lacks guidance and even I struggle as semi experienced dev. With Poetry it's usable for people that don't sit in ecosystem. Elixir is niche and also lacks typing, for most business code it doesn't make much sense.
I think Node.js doesn't have a big powerful ORM because the community isn't looking for one. Can't speak of everyone but I take a good query builder over a fat ORM any day.
I always thought the big original pull of Node was "your backend is similar to your frontend". Then when things like types come up you solve it with something like TS in one place and it applies to both. Looking at e.g. Deno's focus on doing that aim even better seems to back that up.
Are you implying RoR isn't a "sane" option anymore? I'd wager it's infinitely better and easier, for 99% of use cases, than the likes of Go, Rust, Elixir, etc.
Edit: By “saner” option i meant more scalable, performant and maintainable using stricter types.