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.16.0.tar.gz
sha256=199e5d3ab8299832e3c2c3a08db86a0e5859420e88a867f4da331b91d2078c1b

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: 14 Jun 2023

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 >= "5.1.1"
  2. js_of_ocaml >= "5.1.1"
  3. dune >= "2.0.0"
  4. virtual_dom >= "v0.16" & < "v0.17"
  5. ppx_jane >= "v0.16" & < "v0.17"
  6. incremental >= "v0.16" & < "v0.17"
  7. incr_select >= "v0.16" & < "v0.17"
  8. incr_map >= "v0.16" & < "v0.17"
  9. core >= "v0.16" & < "v0.17"
  10. async_kernel >= "v0.16" & < "v0.17"
  11. async_js >= "v0.16" & < "v0.17"
  12. ocaml >= "4.14.0"

Dev Dependencies

None

Used by (4)

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

Conflicts

None