As far as I see, there are 2 things that need to happen:
- A way to do the server sider render
- A new way to initialize the Elm app
The simplest model that comes to my mind for the server-side render is a Task
that produces a String
that is the rendered html. Alternatively it could produce the model and have the conversion to String
happen automatically. All the commands that end up in init
would have to be converted to a chain of tasks in order for this to work. I’m expecting that most of the init
code could be converted to a Task
.
The initialization part is a little bit trickier. I cannot figure out how to do it without adding yet another parameter to the Program
type. In essence, the init needs to receive a new data type that would represent the payload to a message that would put the initial model in the “after the initial update” state.