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.
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 theIncremental
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!
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
lib/bonsai_web/examples
.
For interoperability between Bonsai and Incr_dom
, see Using Bonsai Inside
Incr_dom.
For a short history of Bonsai and Incr_dom
, see History