Efficient high-level abstractions for web programming

Julien Richard-Foy 1 Olivier Barais 1 Jean-Marc Jézéquel 1
1 TRISKELL - Reliable and efficient component based software engineering
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : Writing large Web applications is known to be difficult. One challenge comes from the fact that the application's logic is scattered into heterogeneous clients and servers, making it difficult to share code between both sides or to move code from one side to the other. Another challenge is performance: while Web applications rely on ever more code on the client-side, they may run on smart phones with limited hardware capabilities. These two challenges raise the following problem: how to benefit from high-level languages and libraries making code complexity easier to manage and abstracting over the clients and servers differences without trading this ease of engineering for performance? This article presents high-level abstractions defined as deep embedded DSLs in Scala that can generate efficient code leveraging the characteristics of both client and server environments. We compare performance on client-side against other candidate technologies and against hand written low-level JavaScript code. Though code written with our DSL has a high level of abstraction, our benchmark on a real world application reports that it runs as fast as hand tuned low-level JavaScript code.
Document type :
Conference papers
Complete list of metadatas

Cited literature [22 references]  Display  Hide  Download

https://hal.inria.fr/hal-00920786
Contributor : Jean-Marc Jézéquel <>
Submitted on : Thursday, December 19, 2013 - 3:12:47 PM
Last modification on : Friday, November 16, 2018 - 1:24:41 AM
Long-term archiving on : Thursday, March 20, 2014 - 11:45:24 AM

File

p53-foy.pdf
Files produced by the author(s)

Identifiers

Citation

Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel. Efficient high-level abstractions for web programming. Generative Programming: Concepts and Experiences, GPCE'13, Oct 2013, Indianapolis, United States. pp.53-60, ⟨10.1145/2517208.2517227⟩. ⟨hal-00920786⟩

Share

Metrics

Record views

711

Files downloads

706