All Projects → janestreet → Bonsai

janestreet / Bonsai

Licence: mit
A library for building dynamic webapps, using Js_of_ocaml

Programming Languages

ocaml
1615 projects

"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 [^incr_dom], 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

[^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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].