The renderer can be running in a terminal, a native app or basically anywhere else.
I guess it's somewhat like HTML, but purposefully much simpler so it can be implemented very easily, with built-in reactivity, no arbitrary code execution and a very limited set of components, so the server (mostly) can't influence _how_ things look on the client, only _what_.