ΠΠΎΡΡΠ°ΠΏΠ½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° elk 2.0.9 JavaScript ΠΌΠΎΡΠΎΡΠΎΡ, ΡΠΈΡΠ° ΡΠ΅Π» Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ESP32 ΠΈ Arduino Nano ΠΏΠ»ΠΎΡΠΈ ΡΠΎ 2KB RAM ΠΈ 30KB Flash. ΠΠ° ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π°ΡΠ° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΡΠ΅ 100 Π±Π°ΡΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ 20 KB ΠΏΡΠΎΡΡΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅. ΠΠΎΠ΄ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° GPLv2. ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ, Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ C - Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π³ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π°Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π° IoT ΡΡΠ΅Π΄ΠΈ Mongoose OS, mJS JavaScript ΠΌΠΎΡΠΎΡΠΎΡ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΠΎΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Mongoose (ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ΠΈ Qualcomm ).
ΠΠ»Π°Π²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° Elk Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ ΡΠΈΡΠΌΠ²Π΅Ρ Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π²ΠΎ JavaScript ΠΊΠΎΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°. ΠΠΎΡΠΎΡΠΎΡ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ Π·Π° Π²Π³ΡΠ°Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°ΠΊΡΠ²Π°ΡΠΈ ΡΠΎ JavaScript Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ C/C++. ΠΠ° Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΌΠΎΡΠΎΡΠΎΡ Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΠΊΠΎΠ΄, ΡΠ°ΠΌΠΎ ΡΡΠ°Π²Π΅ΡΠ΅ ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° elk.c Π²ΠΎ ΠΈΠ·Π²ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΠ²ΠΎ, Π²ΠΊΠ»ΡΡΠ΅ΡΠ΅ ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ elk.h ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ js_eval. ΠΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ Π΅ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ C/C++ ΠΊΠΎΠ΄ ΠΎΠ΄ JavaScript ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. JavaScript ΠΊΠΎΠ΄ΠΎΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²ΠΎ Π·Π°ΡΡΠΈΡΠ΅Π½Π° ΡΡΠ΅Π΄ΠΈΠ½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΊΠΎΠ΄ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΠΎΠ»ΠΊΡΠ²Π°Ρ ΠΊΠΎΡ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΠΊΠΎΡΠΈΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°.
Elk ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΌΠ°Π»Π° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Ecmascript 6, Π½ΠΎ Π΄ΠΎΠ²ΠΎΠ»Π½Π° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΈ. ΠΠΎΡΠ΅Π±Π½ΠΎ, ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΡΠ΅Ρ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π½ΠΈΠ·ΠΈ, ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ²ΠΈ, ΠΎΠ²Π°, Π½ΠΎΠ²ΠΎ ΠΈ Π±ΡΠΈΡΠ΅ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΠΈ. Π‘Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ let Π½Π°ΠΌΠ΅ΡΡΠΎ var ΠΈ const, Π° while Π½Π°ΠΌΠ΅ΡΡΠΎ do, ΠΏΡΠ΅ΡΡΠ»ΠΈ ΠΈ Π·Π°. ΠΠ΅ Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Ρ.Π΅. Π½Π΅ΠΌΠ° ΡΠ°ΠΊΠ²ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ Date, Regexp, Function, String ΠΈ Number.
ΠΠ·Π²ΠΎΡ: opennet.ru