A apărut o nouă versiune a motorului JavaScript elk 2.0.9, destinat utilizării în sisteme cu resurse limitate, cum ar fi microcontrolerele, inclusiv plăcile ESP32 și Arduino Nano cu 2 KB RAM și 30 KB Flash. Pentru funcționarea mașinii virtuale oferite sunt suficiente 100 de octeți de memorie și 20 KB de spațiu pe stocare. Codul proiectului este scris în limbajul C și este distribuit sub licența GPLv2. Pentru a compila proiectul este suficient un compilator C – nu se folosesc dependențe suplimentare. Proiectul este dezvoltat de către dezvoltatorii sistemului de operare pentru dispozitive IoT Mongoose OS, motorul JavaScript mJS și încorporat. servere web Mongoose (utilizat în produsele unor companii precum Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung și Qualcomm).
Principalul scop al Elk este crearea firmware-urilor pentru microcontrolere în limbajul JavaScript, care îndeplinesc diverse sarcini de automatizare. Motorul este, de asemenea, potrivit pentru încorporarea handler-ilor în limbajul JavaScript în aplicații scrise în C/C++. Pentru a utiliza motorul în propriul cod, este suficient să plasați în arborele surselor fișierul elk.c, să includeți fișierul de antet elk.h și să folosiți apelul js_eval. Este permis apelul din scripturile JavaScript a funcțiilor definite în codul C/C++ și invers. Codul JavaScript rulează într-un mediu protejat și izolat de codul principal, folosind un interpret care nu generează bytecode și nu folosește alocarea dinamică de memorie.
În Elk este implementat un subset mic, dar suficient pentru crearea scenariilor de lucru, al specificației Ecmascript 6. În special, este suportat un set de baze de operatori și tipuri, dar nu este suport pentru array-uri, prototipuri, expresii this, new și delete. În loc de var și const se recomandă utilizarea let, iar în loc de do, switch și for – while. Nu este furnizată o bibliotecă standard, adică nu există obiecte precum Date, Regexp, Function, String și Number.
Sursa: opennet.ro
