I disagree, it's 100% to do with the frontend and pretty much only because of that.
Node.js is popular because js is popular. You pretty much guarantee an infinite pool of developers for, like, ever. And you can even use those developers across the entire stack with greater velocity and much less onboarding.
async is cool, but not that cool. CGI was doing basically that a long time ago, and it was even more automagical.
> Tech Empower Web Framework still features JavaScript frameworks that outperform Rust frameworks. How do you explain that?
The benchmarks are constructed in such a way that highlights the strengths of the particular JS JIT implementation. JS is good at a lot of things, so if you just do those things, it might appear that it has okay performance.
People do the same thing with C# vs C++; this has been a problem forever. Sure, C# is about as fast or close if you have 16 gigs allocated to the GC and your app is using 100 megs. Now run at 95% memory usage with lots of churning and the order of magnitude differences come out. It's just a fundamental problem with GC langs.