package incr_dom

  1. Overview
  2. Docs
A library for building dynamic webapps, using Js_of_ocaml

Install

Dune Dependency

Authors

Maintainers

Sources

incr_dom-v0.15.0.tar.gz
sha256=e79e64efca79b5def4e636b84225710f982bf5f5dda31fcab8e6b4bfab583d10

Description

The library is designed roughly on a model/view/controller model. Your application is built out of:

  • A functional model type that tracks the state of your application.

  • An incremental /view/ function for computing an HTML-like representation of how your application should render on the browser. The is based on the [[https://github.com/Matt-Esch/virtual-dom][virtual-dom]] javascript library.

  • An action type that is used to schedule events that update the model.

Combined with the ability to use Async, and in particular to send out network requests using websockets, this should allow the easy construction of rich web applications in a fairly comprehensible style.

If you want a more concrete sense of how this works, look in the examples directory.

Published: 21 Mar 2022

README

README.org

#+TITLE: ~Incr_dom~: a library for writing dynamic web-apps

A library for building dynamic webapps, using =Js_of_ocaml=.

The library is designed roughly on a model/view/controller model.
Your application is built out of:

- A functional model type that tracks the state of your application.

- An incremental /view/ function for computing an HTML-like
  representation of how your application should render on the browser.
  The is based on the [[https://github.com/Matt-Esch/virtual-dom][virtual-dom]] javascript library.  

- An action type that is used to schedule events that update the
  model.

Combined with the ability to use Async, and in particular to send out
network requests using websockets, this should allow the easy
construction of rich web applications in a fairly comprehensible
style.

If you want a more concrete sense of how this works, look in the
[[./example/README.org][examples directory]]. 

Dependencies (12)

  1. js_of_ocaml-ppx >= "3.9.0"
  2. js_of_ocaml >= "3.9.0" & < "4.0.0"
  3. dune >= "2.0.0"
  4. virtual_dom >= "v0.15" & < "v0.16"
  5. ppx_jane >= "v0.15" & < "v0.16"
  6. incremental >= "v0.15" & < "v0.16"
  7. incr_select >= "v0.15" & < "v0.16"
  8. incr_map >= "v0.15" & < "v0.16"
  9. core >= "v0.15" & < "v0.16"
  10. async_kernel >= "v0.15" & < "v0.16"
  11. async_js >= "v0.15" & < "v0.16"
  12. ocaml >= "4.08.0"

Dev Dependencies

None

Used by (4)

  1. bonsai >= "v0.15.0" & < "v0.16.0"
  2. incr_dom_interactive >= "v0.15.0" & < "v0.16.0"
  3. incr_dom_partial_render >= "v0.15.0" & < "v0.16.0"
  4. incr_dom_sexp_form >= "v0.15.0" & < "v0.16.0"

Conflicts

None