7 ms·
If you want to use TEA but with easier interop with JavaScript libraries, you can use ReasonML/OCaml with bucklescript-tea[1] instead [1]: https://github.com/O
by thangngoc89 8y ago
If you want to use TEA but with easier interop with JavaScript libraries, you can use ReasonML/OCaml with bucklescript-tea[1] instead
[1]: https://github.com/OvermindDL1/bucklescript-tea https://github.com/OvermindDL1/bucklescript-tea
- napsterbr 8y agoJust pulled an all-nighter deciding what to use instead of Elm. We have a 45kloc codebase in Elm and, despite having some big pros, the closed source development it goes through, along with the 0.19 debacle, just pushed us over the edge. The team is very motivated to ditch elm over something else. So, Bucklescript seems great (and it's wonderful how OvermindDL1 explains in the open his design decisions. An openness that I've missed in Elm), and IMO superior than Typescript, and comparable with Fable (in that case being mostly a matter of personal taste: F# vs ocaml). But, as long as we are trying new stuff, I've decided to use Clojurescript with Reagent and re-frame. The tooling around it seems very mature (even more so than Elm, but I may be wrong), with a good community and macros! For anyone in a similar position, several good options out there, but the best two that I've found, in my opinion, are Bucklescript (ReasonML/Ocaml) and Clojurescript. Cheers!
- sixstringbudha 8y ago> We have a 45kloc codebase in Elm and, despite having some big pros, the closed source development it goes through, along with the 0.19 debacle, just pushed us over the edge. Can you clarify in concrete terms what the closed source development and 0.19 thing had cost you?
- napsterbr 8y agoI guess I've replied on the sister thread. 0.19 was just the final push. Closed development plus complete blocking of contrary feedback just does not feel like open source. The lack of transparency removed all the trust we had in the project, and although our app is relatively big, it is still viable to change to something else - that we trust.
- sixstringbudha 8y agoSo it seems that it was just a matter of trust (but it is not clear what trust you were looking for) and frustration with your feedback not getting heard?
- skybrian 8y agoWhy lose sleep over this considering that 0.18 still works? (Genuine question, not criticism.)
- napsterbr 8y ago0.18 works, but compilation takes too long - and apparently that was fixed in 0.19. We've waited for this fix a long time (over a year), but we can't upgrade because the only (AFAIK) library that connects to Elixir's Phoenix Channels stopped working. In fact the language (0.19) currently has no websocket support. During this whole year of development, we could not compile the 0.19-dev. It was somewhere closed. We couldn't even see the commits. Pretty sure there's a nice and long post somewhere explaining how "outsiders" would slow down the progress by giving, how dare them, feedback. We could wait a little bit more, but, even though I was deeply in love with elm, the language that made me not dread frontend development anymore, I am now totally uninterested at it, driven away by 1) lack of transparency and 2) total blocking of genuine and constructive user feedback, which feels like censorship - or simply a closed-source, proprietary software. The language is good though. Has some minor flaws, but I believe over time they will get fixed. Though it lacks some powerful features that will never be implemented. But ovoverall, we were able to tackle complexity quite nicely. I guess we - me and my team - just got tired of how it is handled. Oh, and Elm is way too verbose. Pretty sure that 45kloc codebase will be about 15-20kloc in cljs!
- throwaway237468 8y ago> 2) total blocking of genuine and constructive user feedback, which feels like censorship - or simply a closed-source, proprietary software. For those looking for examples, check out the recent post on /r/elm: https://www.reddit.com/r/elm/comments/9a0hc6/elm_019_broke_us/ https://www.reddit.com/r/elm/comments/9a0hc6/elm_019_broke_u... It was locked and deleted from the front page within hours. There are many many more such posts that have been deleted. The only posts allowed on /r/elm are those praising Elm. They always invite the users to discuss this in the Elm Discourse which is not constructive because threads about the "forbidden" topics (Native Code) are either locked or completely deleted within hours.
- somlor 8y agoClojureScript with re-frame is fantastic. I also use it on a production app with an Elixir backend, it's a great fit. Be sure to check out re-frisk and re-frame-10x.
- TheSmoke 8y agofirst and foremost, you get to experience figwheel, an amazing interactive tool for the repl and browser. you'll see how you and rest of the team get productive in such a short time.
- kuwze 8y agoCould you go into more detail, maybe listing the pros and cons for ReasonML and ClojureScript considering your use case?
- atrilumen 8y agoI've lost touch with Elm to be honest, (been using Choo)... but hey: wouldn't it be easier (and probably better) to upgrade and use ports?
- sridca 8y agoAnd if anyone is looking for something superior to TEA but in Haskell checkout Reflex. http://docs.reflex-frp.org/en/latest/ http://docs.reflex-frp.org/en/latest/ "React and Elm do not offer the same concept of FRP as Reflex. Reflex offers something based on Conal Elliott's push-pull paper. Conal Elliott is the father of FRP (at least of the theory of FRP), and the semantic model he envisioned is similar to Reflex, but quite different from React/Elm. I believe his semantic model is pretty superior, and Reflex implements it quite nicely." https://www.reddit.com/r/haskell/comments/5aksxa/ghcjs_framework_similar_to_elm_or_reactredux/ https://www.reddit.com/r/haskell/comments/5aksxa/ghcjs_frame...
- afrisch 8y agoShameless plug: ocaml-vdom[1] is another implementation of TEA in OCaml (with js_of_ocaml) [1]: https://github.com/LexiFi/ocaml-vdom https://github.com/LexiFi/ocaml-vdom