Multi-tier programming for Web and mobile apps

Android, iOS, Server & client in one piece of code

Full-stack Web framework for OCaml/Reason with advanced type-checking

Get started now!

News

New programmer's guide!

A new programmer’s guide for Ocsigen has just been released here. It describes in one page everything you need to know to become a fully operational OCaml Web and mobile developer.

html_of_wiki

We are happy to release the first public version of html_of_wiki.

html_of_wiki is a versatile, minimalist yet powerful static website generator. It is designed with simplicity in mind: no special directories, almost no configuration and everything working out of the box. No web server required, just the compilation of your content to HTML and you're free to choose which static files server service fits you: GitHub Pages, GitLab Pages, etc.

html_of_wiki is used to generate this Web site.

More info about html_of_wiki.

Send us your feedback and bug reports about the Web site on Github.

Eliom

Multi-tier language for multi-platform apps

Eliom extends OCaml/Reason into a multi-tier language making it possible to write your whole application (client and server parts) as a single program!

It can run as a Web app, or as a mobile app (based on Web technologies).

Multi-tier

Js_of_ocaml

Optimizing compiler for OCaml/Reason to Javascript

Js_of_ocaml translates your OCaml or Reason programs to Javascript. You can choose between readable or optimized JavaScript.

Js_of_ocaml operates from compiled OCaml bytecode programs. You don't even need the source code, and you don't need to recompile all the OCaml libraries you use.

Easy interfacing with Javascript libraries.

let fib num =
  let rec aux num prec2 prec =
    if num = 0
    then prec
    else
      aux (num - 1) prec (prec + prec2)
  in aux num 1 1
function fib(num)
 {var num$0=num,prec2=1,prec=1;
  for(;;)
   {if(0 === num$0)return prec;
    var
     prec$0=prec + prec2 | 0,
     num$1=num$0 - 1 | 0,
     num$0=num$1,
     prec2=prec,
     prec=prec$0;
     continue}}
function(d){var b=d,c=1,a=1;for(;;){if(0===b)return a;var b=b-1|0,e=a+c|0,c=a,a=e;continue}};

Main projects

Js_of_ocaml

Optimizing compiler from OCaml/Reason to Javascript.

Eliom

Multi-tier language and framework for multi-platform apps.

Server

Full-featured and extensible Web Server.

Lwt

Cooperative threading library.

Tyxml

Static type-checking for HTML and SVG.

Ocsigen Toolkit

Native OCaml widgets for browsers (client side only or client-server).

Start

A full-featured app to use as code example for your own projects.

Users

Here is a short list of users:

Tell us if you want (or do not want) to appear in this list.