Γ disponibile una nuova versione del motore JavaScript elk 2.0.9, destinata all'uso su sistemi con risorse limitate come i microcontrollori, comprese le schede ESP32 e Arduino Nano con 2KB di RAM e 30KB di Flash. Per utilizzare la macchina virtuale fornita sono sufficienti 100 byte di memoria e 20 KB di spazio di archiviazione. Il codice del progetto Γ¨ scritto in linguaggio C e distribuito sotto licenza GPLv2. Per costruire il progetto Γ¨ sufficiente un compilatore C: non vengono utilizzate dipendenze aggiuntive. Il progetto Γ¨ stato sviluppato dagli sviluppatori del sistema operativo per dispositivi IoT Mongoose OS, del motore JavaScript mJS e del server web integrato Mongoose (utilizzato in prodotti di aziende come Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung e Qualcomm ).
Lo scopo principale di Elk Γ¨ creare firmware per microcontrollori in JavaScript che eseguono varie attivitΓ di automazione. Il motore Γ¨ adatto anche per incorporare gestori JavaScript in applicazioni C/C++. Per utilizzare il motore nel tuo codice, inserisci semplicemente il file elk.c nell'albero dei sorgenti, includi il file di intestazione elk.h e usa la chiamata js_eval. Γ consentito chiamare funzioni definite nel codice C/C++ da script JavaScript e viceversa. Il codice JavaScript viene eseguito in un ambiente protetto isolato dal codice principale utilizzando un interprete che non genera bytecode e non utilizza l'allocazione dinamica della memoria.
Elk implementa un piccolo sottoinsieme della specifica Ecmascript 6, ma sufficiente per creare script funzionanti. In particolare, supporta un insieme base di operatori e tipi, ma non supporta array, prototipi, espressioni this, new ed delete. Si propone di utilizzare let invece di var e const, e while invece di do, switch e for. Nessuna libreria standard fornita, ad es. non esistono oggetti Date, Regexp, Function, String e Number.
Fonte: opennet.ru