There was a discussion on this awhile back on reddit, see https://www.reddit.com/r/elm/comments/5q4nji/closest_elm_architecture_in_js/
My personal favorite and I believe closest to Elm (0.16) is outlined here: https://github.com/paldepind/functional-frontend-architecture On Saturday, February 25, 2017 at 7:46:31 PM UTC-5, Robert Muller wrote: > > Thank you! Very informative and laugh-out-loud funny! Really helpful, > thanks! - Bob > > > On Sat, Feb 25, 2017 at 7:27 PM, Witold Szczerba <[email protected] > <javascript:>> wrote: > >> Hi, >> so you want to carry The Elm Architecture (TEA) to the "vanilla JS" >> world. I came across recently an article: "How I converted my React app to >> VanillaJS". React is quite similar to TEA, actually it's React/Redux that >> is similar, but still, I think you could find something useful there. >> >> https://hackernoon.com/how-i-converted-my-react-app-to-vanillajs-and-whether-or-not-it-was-a-terrible-idea-4b14b1b2faff#.zgqzwurva >> >> Regards, >> Witold Szczerba >> >> >> On Sun, Feb 26, 2017 at 12:52 AM, Robert Muller <[email protected] >> <javascript:>> wrote: >> >>> Greetings. I'm an OCaml guy, teaching Web Apps for the first time and >>> finding my way through the insanity that is HTML + CSS + JS and trying to >>> impart something sensible to students for how to structure their vanilla JS >>> apps to conform to the the Elm Architecture (model-view-update). First time >>> through, I'm not savvy enough to know how to properly fake the Elm >>> Architecture in vanilla JS. >>> >>> IN PARTICULAR: I'd like to write a simple TODO app where the model is a >>> record containing a list of todo items and a list of completed items. I'd >>> like to write the app along the lines of: >>> >>> let app = { >>> >>> view : view, // : model -> element >>> >>> update : update // : model -> model >>> >>> } >>> >>> >>> But I'm getting bollixed-up with the basic wiring. It's very basic >>> stuff. E.g., let's say I have an addItem button; I assume that I want to >>> wire-up the event listener to deliver the new item to the model (an >>> update). Obviously these are executed asynchronously. But then what are the >>> proper manners for displaying the model in the DOM? For a simple >>> synchronous 8-queens solver example that I did, I wrote a reasonable runApp >>> function using the JS setInterval function. But I'm not sure if this is >>> kosher for the asynchronous case. >>> >>> Any advice here? Any pointers to Vanilla JS examples written using the >>> Elm Architecture? >>> >>> Thank you! Your reply would help me and my 60 students! >>> Bob Muller >>> >>> -- >>> 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] <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Elm Discuss" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/elm-discuss/XJ6yP_Mq7M0/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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.
