I'm looking into building an application with a lot of real-time features.
I've quickly skimmed over channels. Does Phoenix have some magic code that will hide the DOM-updating logic from me? A package maybe? I'm not interested in writing JavaScript code to update/manipulate the DOM. It seems reasonable to expect that Phoenix can re-render the template server-side and send the changed DOM over a channel - is that not possible?
If the above exists, maybe there exists something that can translate Phoenix's templates to client-side JavaScript views which can take the same variables that a Phoenix templates takes and then render the view? This way, Phoenix doesn't have to send the whole DOM over, but just the variables.
I'm asking because I want to write 100% Elixir code and the above 2 ideas seem reasonable ways of doing just that.