bonsai

A library for building dynamic webapps, using Js_of_ocaml
README

Bonsai is a library that is used to build browser-based frontend applications
in OCaml. It builds on top of the technology and lessons learned from
Incr_dom [^incr_dom], an incremental frontend framework.

The main differences between Incr_dom and Bonsai are

  • Bonsai has a notion of first-class components -
    read more

  • Incr_dom expects users to program in the Incremental monad; in Bonsai,
    incrementality is added for you under the hood -
    read more

  • Combining Bonsai components is easy (and fun!) -
    read more

Similarities between Incr_dom and Bonsai:

  • Both are built on top of Incremental library for performance optimizations

  • Both make use of the Vdom library and associated helper libraries
    (lib/vdom_input_widgets, lib/vdom_keyboard, etc..) to help developers
    construct the view of the app.

  • Bonsai components are embeddable inside of existing Incr_dom apps!

Table of Contents

Getting Started

Reading Bonsai Concepts is the best place to get an
overview of the library and to build a mental model for structuring Bonsai
applications.

Examples of using Bonsai in a web browser can be found in
web/examples.

[^incr_dom]:
For interoperability between Bonsai and Incr_dom, see Using Bonsai Inside
Incr_dom
.
For a short history of Bonsai and Incr_dom, see History

Install
Published
31 May 2020
Sources
bonsai-v0.14.0.tar.gz
md5=b5e743dbfa64d0da5fd660f14cd0b549
Dependencies
dune
>= "2.0.0"
virtual_dom
>= "v0.14" & < "v0.15"
ppx_pattern_bind
>= "v0.14" & < "v0.15"
ppx_jane
>= "v0.14" & < "v0.15"
incremental
>= "v0.14" & < "v0.15"
incr_map
>= "v0.14" & < "v0.15"
incr_dom
>= "v0.14" & < "v0.15"
core_kernel
>= "v0.14" & < "v0.15"
async_kernel
>= "v0.14" & < "v0.15"
ocaml
>= "4.08.0"
Reverse Dependencies