JerryScript is a lightweight JavaScript interpreter intended to run on a very constrained devices such as microcontrollers and proclaims itself as "A JavaScript engine for the Internet of Things".

There are already JavaScript engines targeting embeddable devices - Duktape, tiny-js and MuJS, to mention just three - but JerryScript has Samsung behind it.

What JerryScript has in common with these alternatives is that it is small:

Only few kilobytes of RAM available to the engine (<64 KB RAM)

Constrained ROM space for the code of the engine (<200 KB ROM)

The engine supports on-device compilation, execution and provides access to peripherals from JavaScript. Its design is quite interesting as it complies to a Bytecode which is fully documented on the site.

JerryScript comes from Samsung which, as we reported recently (see Samsung's ARTIK Arduino Compatible From Small To Powerful), is keen to get a share of the Internet of Things market. In addition to the JerryScript repo on GitHub it has IOT.js an Internet of Things framework built on JerryScript and libuv, an event driven cross-platform asynchronous I/O model similar to node.js.

IoT.js is currently available for Linux and NuttX and there is explicit support for the Raspberry Pi. In the near future you should be able to use Samsung's Artik and the Intel Edison. The framework includes a set of GPIO commands, timers and other utilities. The timers only work in milliseconds and this makes it unlikely that you could create any demanding real time apps using it - you are still going to need C.

One of the problems is that the sudden interest in the IoT means that the wheel is being reinvented far too many times. Now only do we have multiple JavaScript engines targeting small and restricted hardware but we have multiple IoT frameworks - Intel's mraa for example.

Currently the biggest problem that JerryScript has is that its documentation is non-existent. All you have is the code and no clue us to how to use it on any given platform.

JerryScript is an open source project under the Apache License, Version 2.0.







Comments



Make a Comment or View Existing Comments Using Disqus





or email your comment to: comments@i-programmer.info