This adds a new spa (Single Page Application) template that generates a Js_of_ocaml project with Incr_dom.
It aims to be the Js_of_ocaml counterpart of bs-react, therefore the directory structure is almost identical.
The application follows an Elm-like architecture: each component's model/action is encapsulated and included in its parent's component.
I'll note that due to the high composability required by single-page applications, a framework such as Bonsai might be easier to work with and reduce boilerplate. But I preferred to avoid taking a technology that is likely to change its API in the near future. I'll revisit the template once the API is stable.
TODO
[x] Make Tailwind optional and create CSS equivalent
[x] Finish up unit tests
[x] Revisit CONTRIBUTING guide to include jsoo specificities
This adds a new
spa
(Single Page Application) template that generates a Js_of_ocaml project with Incr_dom.It aims to be the Js_of_ocaml counterpart of
bs-react
, therefore the directory structure is almost identical.The application follows an Elm-like architecture: each component's model/action is encapsulated and included in its parent's component.
I'll note that due to the high composability required by single-page applications, a framework such as Bonsai might be easier to work with and reduce boilerplate. But I preferred to avoid taking a technology that is likely to change its API in the near future. I'll revisit the template once the API is stable.
TODO