In the strictly browser realm, there's also Brr: <a href="https://erratique.ch/software/brr/doc/Brr_canvas/index.html" rel="nofollow">https://erratique.ch/software/brr/doc/Brr_canvas/index.html</a> which is a recent reimagining of the traditional interface to browser APIs (provided by js_of_ocaml) in a much more idiomatic OCaml style.<p><a href="https://erratique.ch/software/brr/doc" rel="nofollow">https://erratique.ch/software/brr/doc</a>