Sorry, please let me adjust my previous comment. I said React+Elm is too large, but now I found it's NOT so large as I thought. (Of course not as small as lightweight libraries yet)
I just saw the number at TodoMVC. elm.js: 69.7 KB gziped (including all user code) react-with-addons.js: 174 KB gziped jquery.js: 83.9 KB gziped I'm surprised the fact Elm is even smaller than jQuery. It means React+Elm is smaller than React+jQuery. Considering it's temporary to use them together, this number is not too bad, I think. 2016-07-11 3:37 GMT+09:00 Richard Feldman <[email protected]>: > It's all good. :) > > This stuff is complicated! > > On Sun, Jul 10, 2016, 11:19 AM Peter Damoc <[email protected]> wrote: > >> Richard, >> >> Thank you for taking the time to write this considerate answer. >> >> I apologize for the post I wrote yesterday. >> I was in a very very dark place after a night plagued by insomnia at the >> end of an extremely stressful week where I could not get anything done. >> >> Fear is the path to the dark side... and I think I let fear take over. >> >> Anyway, it is fascinating to see that such a seemingly simple topic has >> the brightest minds in the world still looking for an answer. >> >> I did not knew that the situation is this complicated. >> >> >> >> >> On Sun, Jul 10, 2016 at 8:54 PM, Richard Feldman < >> [email protected]> wrote: >> >>> >>> >>>> Regarding the user form, you said that what I asked is trivial in Elm. >>>> Do you have some kind of sample code that you can share or, if you >>>> would be so kind, could you post some sample repository that does that? >>>> >>> I would *LOVE* to be proven wrong about that. I would love to see some >>>> simple Elm code that outputs a form that looks like it came from 2016 and >>>> go "oops, my bad, sorry for wasting everyone's time". >>>> >>> >>> Sure - I even wrote a blog post >>> <http://tech.noredink.com/post/129641182738/building-a-live-validated-signup-form-in-elm> >>> about >>> it. :) >>> >>> That post includes examples in the form of SignupForm.elm >>> <https://gist.github.com/rtfeldman/ba60ad491cc6b58fe2cc4ca78f5a4580> >>> and the styles that go with it >>> <https://gist.github.com/rtfeldman/4ec263490ba9a1618b59#file-example-html-L7-L16>. >>> I >>> didn't bother inline the styles into Elm, but obviously that's a copy/paste >>> and find/replace job. >>> >>> All of Graphics.Input was dropped >>> >>> >>> Ah, I did not know that! My mistake. You're right, Janis. >>> >>> Regarding elm-mdl. I am well aware of the release of 6.0.0. I was not >>>> arguing that people are not still fighting. >>>> What I said was that "*they were explicitly or implicitly dismissed"*. >>>> >>> If you want me to be more explicit, I was thinking about the discussions >>>> around boilerplate that prompted elm-parts, the difficulties around >>>> geometry that prompted debois/elm-dom. >>>> >>> >>> Facebook released React with a built-in, dead-easy way to do reusable >>> stateful components: each component has its own local mutable state. >>> >>> However, they at Facebook weren't satisfied with how this UX scaled, so >>> they also released Flux as a more scalable way to manage state. >>> >>> Many people weren't happy with Flux, though, so they started looking >>> elsewhere, for example to ClojureScript, leading to Omniscient.js >>> <https://github.com/omniscientjs/omniscient> based on David Nolen's >>> cursor-based state management model for Om >>> <https://github.com/omcljs/om>. >>> >>> David Nolen himself ended up moving away from that with Om Next >>> <https://github.com/omcljs/om/wiki/Quick-Start-(om.next)>, which >>> abandoned cursors in favor of a custom state management system based on >>> Relay, Falcor, and Datomic. Obviously not everyone agrees with him; >>> Omniscient.js is still under active development. Its last commit is 2 days >>> ago. >>> >>> Others looked to Elm, like Dan Abramov, who created Redux >>> <https://github.com/reactjs/redux>. It's very popular in the React >>> world, although since Facebook hired Dan, he's been working on ways to make >>> React not need it anymore. That seems likely to result in the release of a >>> new way to do things <https://xkcd.com/927/>, whenever whatever it is >>> gets released. >>> >>> Others thought Redux was too heavyweight and trying to do too much at >>> once, which has led to Choo >>> <https://github.com/yoshuawuyts/choo#concepts>, a self-described >>> <https://github.com/yoshuawuyts/choo#hey-doesnt-this-look-a-lot-like-elm> >>> adaptation of Elm 0.17's architecture in JS. >>> >>> I've spent hours discussing these things with Jafar Husain at Netflix, >>> who thinks Observables are the answer. See for example rx-react >>> <https://github.com/fdecampredon/rx-react> or Andre Staltz's popular >>> Cycle.js <http://cycle.js.org/>. >>> >>> This is to say nothing of how Angular manages state. Or Ember. Or >>> Aurelia. Or Vue. >>> >>> My point is this: >>> >>> *Every single community that's involved in making browser-based UIs is >>> flooded with conflicting viewpoints on how reusable stateful components >>> should be done.* >>> >>> There is not some glaringly obvious answer that will make everyone >>> happy. It does not exist. >>> >>> History strongly suggests that in this area,* making one group of >>> people happy makes others unhappy.* >>> >>> I was on a Skype call several months ago where Søren and Evan had an >>> extended discussion about his experiences developing elm-mdl. The fact that >>> Evan did not end up doing things the way you think he should is not a >>> reflection of Evan being dismissive of Søren's experience, it's that >>> *reusable >>> stateful components are a minefield of tradeoffs*. >>> >>> Personally I think when one finds oneself in a minefield, it is wise to >>> tread carefully. :) >>> >>>> -- >>> >> 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. >>> >> >> -- >> There is NO FATE, we are the creators. >> blog: http://damoc.ro/ >> >> -- >> 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/gVY5DmZOR9s/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> 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/gVY5DmZOR9s/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > 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.
