/bonsai

A library for building dynamic webapps, using Js_of_ocaml

Primary LanguageOCamlMIT LicenseMIT

"Bonsai!"

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 1, an incremental frontend framework.

Getting Started

The Getting Started with Bonsai guide is good if you're new to web development entirely or just want to see a walkthrough of a couple simple example apps.

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

Differences between Incr_dom and Bonsai

The main differences between Incr_dom and Bonsai are

  • Bonsai has a notion of first-class components
  • 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

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!

Bonsai Documentation Table of Contents

[This Page]
A History of Bonsai
Incrementality in Bonsai
Using Bonsai inside an Incr_dom App
Bonsai_web

For interoperability between Bonsai and Incr_dom, see Using Bonsai Inside Incr_dom. For a short history of Bonsai and Incr_dom, see History

Footnotes