3 ms·
My personal favorite is re-frame for ClojureScript. I have used it to build things like a LaTeX editor with live preview, electron app frontends, and web-apps.
by frompdx 4y ago
My personal favorite is re-frame for ClojureScript. I have used it to build things like a LaTeX editor with live preview, electron app frontends, and web-apps. There are wrappers like Kee-frame that extend re-frame by linking the URLs query to the current state, making it possible for users to easily share URLs to different states of a single page app.
The cons are:
- A fair amount of work to make changes to the state side-effect free, but the documentation has a good tutorial on how to approach this.
- It's for ClojureScript, so it's a non-starter for organizations that will not consider anything outside of the mainstream.
I have also used Elm. If I recall correctly, Elm's state management paradigm was inspired by re-frame. I found writing JSON decoders in Elm to be demoralizing and tedious. Since the creator of the language was vehemently opposed to providing any real JSON support I decided to move to ClojureScript.
- ogoparootbbo 4y ago> Elm's state management paradigm was inspired by re-frame Nope, it's the other way around
- frompdx 4y agoDesigned in late 2014, it slightly pre-dates the official Elm Architecture, although thankfully we picked up foldp ideas from early Elm games https://day8.github.io/re-frame/re-frame/#why-should-you-care https://day8.github.io/re-frame/re-frame/#why-should-you-car...
- ogoparootbbo 4y agostated chronology doesn't imply inspiration