Skip to Main content Skip to Navigation

Programmation web réactive

Colin Vidal 1
1 INDES - Secure Diffuse Programming
CRISAM - Inria Sophia Antipolis - Méditerranée
Abstract : The web is an universal platform used to develop applications interacting with users and remote services. These interactions are implemented as asynchronous events that can be fired anytime. JavaScript, the mainstream language of the web, handles asynchronous events using low-level abstractions that makes it difficult to write, verify, and maintain interactive applications. We have addressed this problem by designing and implementing a new domain specific language called Hiphop.js. It offers an alternative to JavaScript event handling mechanism by reusing temporal constructions coming from the synchronous programming language Esterel. These constructions make the control flow of the program explicit and deterministic. Hiphop.js is embedded in JavaScript and suits the traditional dynamic programming style of the Web. It is tighly coupled to JavaScript with which it can exchange values and access any data structures. It can also support dynamic modifications of existing programs needed to support on-demand download on the Web. It can run on both end of Web applications, namely on servers and on clients. In this thesis, we present Hiphop.js, its design and implementation. We overview its programming environment and we present the prototypical web applications we have implemented to validate the approach.
Document type :
Complete list of metadatas

Cited literature [103 references]  Display  Hide  Download
Contributor : Abes Star :  Contact
Submitted on : Monday, October 22, 2018 - 12:39:05 PM
Last modification on : Monday, May 25, 2020 - 6:45:27 PM
Long-term archiving on: : Wednesday, January 23, 2019 - 1:58:39 PM


Version validated by the jury (STAR)


  • HAL Id : tel-01900619, version 1



Colin Vidal. Programmation web réactive. Web. Université Côte d'Azur, 2018. Français. ⟨NNT : 2018AZUR4049⟩. ⟨tel-01900619⟩



Record views


Files downloads