The Phoenix framework for Elixir supports something like that with its "LiveViews".
A few other backend frameworks for other languages also have something like that.
A few other backend frameworks for other languages also have something like that.
The Nitrogen Framework for Erlang [0] is another in a similar vein (and pre-dates LiveViews).
Another is lamdera [1] which I came across on the Elm Radio podcast [2]. I've never used it, but the focus on minimising accidental complexity between front and back end was appealing, (along with the use of Elm).