Thanks, this is really practical advice.
The first three things you should reach for are, in no particular order: > > 1. Splitting view into smaller functions (without reorganizing Model > or update) > > > 1. Splitting Model into smaller values (without reorganizing view or > update) > > > 1. Splitting update into smaller functions (without reorganizing Model > or view) > > I can see how this fits really well for building whole pages, where reuse isn't a concern. There are a couple of scenarios where I'm still left pondering though: 1) reusabled UI components See elm-mdl for example, what are your thoughts on the elm-parts approach? 2) services e.g. I'm using websockets to communicate with the server, in my previous experience I would have implemented a Store of some sort which took care of communication with the server and allowed the view layer to just worry about asking for information and sending mutations. Currently I've implemented a Store as a TEA component without a view. This works but I'm left with this nagging doubt that I'm simply supplanting an ember-like approach into my new Elm app :) Just to add some weight to my feeling that there needs to be a layer between the view and the server I'm also intending to add management of optimistic updates --- so updates will initially be applied directly to the model optimistically, then once all updates have been confirmed with the server the optimistic state is thrown away and replaced by a version which has been updated with messages received only from the websocket (which is a mix of updates from both the local user and any other users connected to the same channel --- I'm using Phoenix). Would you agree that a layer between the view and websocket makes sense here? If so how would you organise that? Does the approach I've taken, to implement it as a TEA component make sense or perhaps there's another approach that I haven't considered? > > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.