Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States

Hop.js is a multitier programming environment for JavaScript. Multitier JavaScript allows a single program to describe the client-side and the server-side components of a web application. The multitier runtime environment ensures consistent executions on the server and on the client.

Hop.js can be used to develop traditional web servers but it is particularly adapted to develop web applications embedded into devices, where the server and client parts of the application are intimately interoperating with each other. Its programing model fosters the joint specification of server and client codes. By defining a single data model, providing functions that can run indifferently on both sides, and almost forgetting about client-server protocols, Hop.js is well suited for agile development of web applications for this class of applications. By promoting HTML as a primitive datatype, it allows the rapid development of web user interfaces. As an example, Hop.js has already been successfully used as the core framework to develop embedded and cloud applications for connected robots and IoT devices.

The tutorial will consist in an introduction to multitier programming with Hop.js. The tutorial will start with an introduction to the programming language and will be followed by the programming of three almost realistic web examples.

  • first, we will program simple basic web pages with simple user interactions.
  • second, we will program a 165-line long multi-langual, multi-source RSS reader.
  • third, we will program a distributed two-player video-game.

The description of these three assignments can be found at:


To program these excercices, the audience will be asked to install the Hop.js development environment. Linux, OSx, and Windows (*) users can install it from the source code available at


or they can use a docker image. The installation procedure is described at:


Sat 29 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:00 - 16:00
T10: Hop.js: JavaScript multitier programmingTutorials at Texas Special
Chair(s): Manuel Serrano Inria, France
T10: Hop.js: JavaScript multitier programming
Manuel Serrano Inria, France