package eliom

  1. Overview
  2. Docs
Client/server Web framework

Install

Dune Dependency

Authors

Maintainers

Sources

6.8.1.tar.gz
md5=ced7b0f55496c0ee9afd596b3f2b29ce
sha512=62510172a1ad7ee6470c969ebb54f5417cbce781d1f97bf211ddf5f25f4798e9f063881615be091309fdbac600f402f7f999cf61af18787abb5c17ed4c2c0fe5

Description

Eliom is a framework for implementing client/server Web applications. It introduces new concepts to simplify the implementation of common behaviors, and uses advanced static typing features of OCaml to check many properties of the Web application at compile-time. Eliom allows implementing the whole application as a single program that includes both the client and the server code. We use a syntax extension to distinguish between the two sides. The client-side code is compiled to JS using Ocsigen Js_of_ocaml.

Published: 13 Nov 2019

README

Eliom

Eliom is a framework for building client/server Web and mobile applications in OCaml. It transforms OCaml into a multi-tier language, making it possible to implement both the server and client parts of a Web and mobile app as a single program. This simplifies a lot the communication between server and client. Applications can run on any Web browser or mobile device (iOS, Android), saving from the need to develop one version for each platform.

Eliom has support for reactive pages (generated on server or client), advanced session mechanism, server to client communication, continuation based Web programming, etc.

Eliom is part of the Ocsigen project.

Installation Instructions

We recommend that you use the OPAM package manager to install Eliom. Once you have installed OPAM, all you have to do is type:

opam install eliom

If you want to compile manually,

  • run make to compile;

  • run make PREFIX=${YOURPREFIX} install (as root if necessary) to install; and

  • run make PREFIX=${YOURPREFIX} uninstall to uninstall everything.

Testing locally

  • Install Eliom.

  • Run make run.local or make run.opt.local in the Eliom source directory.

  • Open http://localhost:8080/miniwiki in your browser.

  • If the above does not work, look at the logs (see local/var/log/ in the Eliom source directory) or run Eliom with either of the options -v, -V (verbose and debug mode, respectively).

  • Sources for this example may be found in the directory tests/miniwiki. A complete tutorial is available online. For a testsuite, see http://localhost:8080/.

Authors

  • Vincent Balat

  • Jérôme Vouillon

  • Grégoire Henry

  • Pierre Chambart

  • Benedikt Becker

  • Boris Yakobowski

  • Hugo Heuzard

  • Raphaël Proust

  • Stéphane Glondu

  • Gabriel Kerneis

  • Denis Berthod

  • Jaap Boender

  • Simon Castellan

  • Mauricio Fernandez

  • Archibald Pontier

  • Simon Castellan

  • Jacques-Pascal Deplaix

Dependencies (20)

  1. base-bytes
  2. sqlite3
  3. dbm
  4. reactiveData >= "0.2.1"
  5. ipaddr >= "2.1"
  6. ocsigenserver >= "2.10" & < "3.0.0"
  7. tyxml >= "4.3.0" & < "4.4.0"
  8. ppx_tools_versioned >= "5.2.3"
  9. lwt_ppx
  10. lwt_log
  11. js_of_ocaml-tyxml >= "3.3" & < "3.5"
  12. js_of_ocaml-ppx_deriving_json >= "3.3" & < "3.5"
  13. js_of_ocaml-ppx >= "3.3" & < "3.5"
  14. js_of_ocaml-ocamlbuild build
  15. js_of_ocaml-lwt >= "3.3" & < "3.5"
  16. js_of_ocaml >= "3.3" & < "3.5"
  17. ppx_tools >= "0.99.3"
  18. ppx_deriving
  19. ocamlfind
  20. ocaml >= "4.07.1" & < "5.1"

Dev Dependencies

None

Used by (2)

  1. ocsigen-start >= "2.3.0" & != "2.15.1" & < "2.16.0"
  2. ocsigen-toolkit >= "1.1.0" & < "2.4.3"

Conflicts

None

OCaml

Innovation. Community. Security.