This category is for discussing web development in OCaml, with some of the major pieces of this puzzle being:
Frameworks
opium is a Sinatra-like framework built on cohttp.
Eliom is a more full-featured framework for server or client-server Web and mobile app development, from the Ocsigen project. It turns OCaml (or Reason) into a multitier language, which simplifies a lot the communication between client and server. It makes it possible to write both the Web and mobile apps (Android, iOS …) with the exact same code. It contains an advanced session mechanism and provides functional reactive interface programming using React.
ocaml-webmachine is a port of webmachine built on top of cohttp, and particularly well-suited for writing RESTful APIs.
JavaScript transpilers
js_of_ocaml compiles OCaml bytecode to JavaScript, focusing on interoperability with opam and the OCaml ecosystem.
BuckleScript compiles a more high-level intermediate representation of OCaml into decently readable JavaScript and focuses more on interoperability with JavaScript and the npm ecosystem.
js_of_ocaml ecosystem
incr_dom is an MVC-like front-end framework based on virtual-dom and using js_of_ocaml.
ocaml-vdom is an implementation of the Elm Architecture for js_of_ocaml.
gen_js_api Easy OCaml bindings for Javascript libraries.
BuckleScript ecosystem
reason-react is high-level BuckleScript bindings to React (Reason is, as the name suggests, recommended but not actually required.)
bucklescript-tea is an implementation of the Elm Architecture for BuckleScript.
Ocsigen ecosystem
Ocsigen Toolkit a client-server toolkit taking advantage of Eliom’s multitier language.
Ocsigen Start a template for easily build your first multi-platform (Web and mobile) app.
Ocsigen Tyxml a library for building statically correct HTML5 and SVG documents.
Ocsigen Server a full featured and extensible Web server, with CGI, authentication, access control, reverse proxy, user pages, etc. Now based on cohttp.
Template languages
ocaml-mustache is an implementation of the mustache logic-less template language.
Snabela is a logic-less template language that is heavily inspired by mustache, but makes a few improvements on it.
Companions
Reason is a Facebook-backed project that aims to provide OCaml with friendlier syntax, tools and workflow. It takes a lot of inspiration from JavaScript and its ecosystem, and has formed a strong and growing community around itself in combination with BuckleScript and reason-react.