Overview of JavaScript Engines for Resource-Constrained Microcontrollers
Kai Grunert
Abstract
IoT devices often use small, constrained micro-controllers to implement their functionality. Usually, they are programmed with languages like C or C++, but there is a trend to use interpreted languages for this task. In this paper, we focus on JavaScript. We discuss the advantages and disadvantages of using this interpreted language for microcontroller development, we give an overview of the available JavaScript engines for constrained devices, and we compare these interpreters' general properties. One finding shows that the projects can be divided into embeddable interpreters (JerryScript, Duktape, mJS) and standalone runtimes (Espruino, Moddable, Mongoose OS). It was also identified that the interpreters follow different architectural approaches.