package incr_dom

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

Install

Dune Dependency

Authors

Maintainers

Sources

v0.17.0.tar.gz
sha256=a3a9ef135edd2039b5e771dfd9461ff2bbae55e2611af0e81c9577898314a76f

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: 26 May 2024

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 (13)

  1. js_of_ocaml-ppx >= "5.1.1" & < "5.7.0"
  2. js_of_ocaml >= "5.1.1" & < "5.7.0"
  3. dune >= "3.11.0"
  4. virtual_dom >= "v0.17" & < "v0.18"
  5. ppx_jane >= "v0.17" & < "v0.18"
  6. incremental >= "v0.17" & < "v0.18"
  7. incr_select >= "v0.17" & < "v0.18"
  8. incr_map >= "v0.17" & < "v0.18"
  9. core_kernel >= "v0.17" & < "v0.18"
  10. core >= "v0.17" & < "v0.18"
  11. async_kernel >= "v0.17" & < "v0.18"
  12. async_js >= "v0.17" & < "v0.18"
  13. ocaml >= "5.1.0"

Dev Dependencies

None

Used by (4)

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

Conflicts

None

OCaml

Innovation. Community. Security.