Hiphop.js: a language to orchestrate web applications - Archive ouverte HAL Access content directly
Conference Papers Year : 2018

Hiphop.js: a language to orchestrate web applications


We are interested in web orchestration, which is the problem of appropriately handling the asynchronous events appearing in pro- gram executions. It is known be one of the major difficulties of web programming (see callback hell [9, 11]). High-level approaches to orchestrate web applications have been developed in academia or industry. The Functional Reactive Program- ming (FRP) concept [4] has been carried up to the web by Flapjax [5,10],whichadoptsadataflowprogrammingstyle:whenavariable is modified, any expression that references it is implicitly reevalu- ated. Others techniques targeting GUI updates [1, 6, 8, 12] consist in associating a state with a set of graphical elements and auto- matically updating the graphics on changes. In JavaScript Promises and async/await constructions [7] make it possible to chain asyn- chronous actions in a specific sequential order. Working at a more abstract level, these solutions avoid using callbacks. Our goal is to go further with yet another solution based on a new language called Hiphop.js. It is a JavaScript extension of Esterel [2] based on three reactive control mechanisms: explicit con- currency, synchronisation using synchronous signals, which makes the handling of concurrent issues much easier, and preemption, i.e. the explicit cancellation of an ongoing orchestration subactivity. Hiphop.js suitably extends the core Esterel notions to deal with web paradigms such as application structure dynamicity. Hiphop.js follows a previous Scheme-based prototype [3], but takes different approaches w.r.t. the interaction with the host language. This paper gives an informal introduction to Hiphop.js through a small example that compares the programming of a simple event- aware program in both JavaScript and Hiphop.js.
Fichier principal
Vignette du fichier
vbs-sac18.pdf (775.25 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-01937252 , version 1 (28-11-2018)



Colin Vidal, Gérard Berry, Manuel Serrano. Hiphop.js: a language to orchestrate web applications. SAC: Symposium on Applied Computing, Apr 2018, Pau, France. pp.2193-2195, ⟨10.1145/3167132.3167440⟩. ⟨hal-01937252⟩
182 View
430 Download



Gmail Mastodon Facebook X LinkedIn More