Note that I'm currently experimenting with performance improvements, so until this is finished quality and performance may vary...
Aims to provide adaptive bindings for ELM-style UI in Fable.
In order to keep the view-code as compatible as possible our AdaptiveComponents are
directly implemented as ReactComponent
and internally manage their DOM (directly modifying it without react knowing).
Nonetheless it is worth mentioning that the component uses react for rendering its children again, maximizing compatibiity and leveraging react's reliable update logic.
If you have any questions or want to get involved just join us on discord:
npm install build
The Demo project can be started using build -t Watch
(starting a webpack-dev-server) or build -t Run(Debug|Release)
(bundling the demo project and starting a web-server in the output directory)
Switching between Demos currently requires changing src/Demo/Program.fs
atm.
The Demo project currently contains two examples:
- SimpleApp.fs using elmish(ish) MVU updates. However since Adaptify is not yet finished the example is limited to a primitive model.
- AdaptiveListDemo.fs using Fable.React.Adaptive for rendering an
alist
of nodes with the possiblity to insert/change/remove nodes (not using MVU style updates atm.) - TodoMvc.fs is a port of fable's react-todomvc using our elmish(ish) view functions and Adaptify for adaptifying its model. There's also a live demo which currenlty does not store the model in the
localstorage
due to serialization issues with ourIndexList
but we'll fix that eventually.