On Wed, Dec 21, 2016 at 8:02 PM, Rex van der Spuy <[email protected]> wrote: > > Can anyone explain what's going on? >
I haven't been following elm-mdl lately but maybe I can provide some historical context. Reuse of UI is a topic that hasn't been solved in Elm. This is why we don't have any official or recommended complex UI toolkit. The first real attempt at solving the issue was TEA (The Elm Architecture). This was a pattern that was distilled by Evan into the elm-architecture-tutorial. That tutorial used to show how to define components and how to nest them. Unfortunately, as soon as people started using the pattern for real work a lot of discussions started to happen about messages flow (OutMsg) and some people abused the pattern by splitting the code too much in terms of components. Another issue with fancy low level components (many small components that are unavoidably stateful) is the amount of boilerplate needed and so, Søren created elm-parts that addressed this and then implemented elm-mdl on top of that. Now, Evan moved away from recommending the nesting architecture and advised against putting functions in Model & Msg. This put the implementation of elm-mdl at odds with the official recommendation. Polymer and webcomponents represent the latest attempt at exploring the UI reuse issue in Elm. This attempt is in its infancy. Josh said that he will implement Firestorm using webcomponents and since that kickstarter got funded we might see a real-world complex use of the technology. v1 of the WebComponents standard has been agreed upon by all major vendors and I'm optimistic about its availability (I believe we'll see it available next year in the evergreens) Others don't share my optimism and there is also the issue of mandated IE support. I guess we'll see what will happen next year. In the end, I would like to say that the situation is so foggy that I don't really have a solid recommendation. elm-mdl looks like a dead-end while webcomponents is so brand new that we still haven't figured out how to use it. The best way forward now might be to use the 0.18 port of elm-mdl with the flat hierarchy recommendations from the reuse part of the guide. Choose not to block. This might allow for an easy refactoring to a better technology. (webcomponents) -- There is NO FATE, we are the creators. blog: http://damoc.ro/ -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
