ΠΠ°Π»ΠΈΡΠ½Π° Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° JavaScript Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ elk 2.0.9, Π½Π°ΡΠΎΡΠ΅Π½Π° ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ 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, Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅.ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, ΡΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ°ΡΠΈΠ²ΠΈ, ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ, ΠΈΠ·ΡΠ°Π·ΠΈ this, new ΠΈ delete. ΠΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° let Π²ΠΌΠ΅ΡΡΠΎ var ΠΈ const, ΠΈ while Π²ΠΌΠ΅ΡΡΠΎ do, switch ΠΈ for. ΠΠ΅ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Ρ.Π΅. Π½ΡΠΌΠ° ΡΠ°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡΠΈ Date, Regexp, Function, String ΠΈ Number.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru