Reflex is great (and its author is a genius) but it&#x27;s not really useful yet for non-desktop apps.  Because Reflex + GHCJS is impossibly slow on mobile.<p>As an experiment, try using chrome (iOS) or android to load this:<p>obsidian.systems&#x2F;reflex-nyhug&#x2F;<p>or this:<p><a href="https:&#x2F;&#x2F;obsidian.systems&#x2F;" rel="nofollow">https:&#x2F;&#x2F;obsidian.systems&#x2F;</a><p>They&#x27;re both reflex apps.<p>GHCJS is bees-knees.  But unfortunately, minimizing-code-size&#x2F;mobile-performance has not been a priority.  (It&#x27;s understandable, as Luite can&#x27;t do everything himself.)  (Aside: the best solution I&#x27;ve seen -- in terms of generated code size -- in GHCJS-land right now is:  <a href="https:&#x2F;&#x2F;hackage.haskell.org&#x2F;package&#x2F;react-flux" rel="nofollow">https:&#x2F;&#x2F;hackage.haskell.org&#x2F;package&#x2F;react-flux</a>.  Anecdotal, though.  YMMV.)<p>I can&#x27;t wait for GHCJS to be ready for prime time.  I wish all these alt-JS-haskellish language authors (of Purescript, Elm, Roy, etc.) would just work on making GHCJS better.<p>It&#x27;s a bummer that Clojure and Scala are much newer than Haskell and yet they both have a mature, production-ready JS compiler.  The statically typed ML-family is too small for multiple JS compilers.  The entire community needs to pick one and let the others die.  Otherwise, we end up with several half-baked solutions and not a single industrial-strength one.