I can’t totally agree with you. I work mostly as a backend developer and I think move everything back to the backend is a wrong idea. I prefer the clean separation between the frontend and the backend, I don’t want to care anything about the frontend, I write REST interfaces and the frontend will get what they want. You said when you create an SPA you will stuck on the framework… nice and when you choose Play or Rails you not stuck a framework in the backend? (And yeah, when you pull back the frontend code “generation” to the backend you’ll stuck in a template engine…)
I think every ecosystem have same problem. You think Rails/Django/Play can solve this problem? Maybe, but I think you’ll got a tons of another… there are no silver bullet. I using play with scala.js and react. Why? Because Love scala. I can share code between frontend and backend, I using autowire and simply call the backend API from frontend in typesafe way. I love it? Yes. I ‘ll suck in the Play + Scala + React triangle? Yes? This is a problem? I don’t think that.
I think the biggest problem not the frameworks or the ecosystems, the main problem is the decision. Use the right tool for the right job, but I’m just a backend developer :D