Π‘ΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Node.js 23.0.0, ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ JavaScript. Node.js 23.0 ΠΎΡΠ½Π΅ΡΡΠ½ ΠΊ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ Π²Π΅ΡΠΊΠ°ΠΌ, ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 7 ΠΌΠ΅ΡΡΡΠ΅Π² (Π΄ΠΎ ΠΈΡΠ½Ρ 2025 Π³ΠΎΠ΄Π°). Π Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π΄Π½ΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π²Π΅ΡΠΊΠΈ Node.js 22, ΠΊΠΎΡΠΎΡΠ°Ρ 29 ΠΎΠΊΡΡΠ±ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΡΠ°ΡΡΡ LTS ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎ Π°ΠΏΡΠ΅Π»Ρ 2027 Π³ΠΎΠ΄Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ»ΡΡ LTS-Π²Π΅ΡΠΎΠΊ Node.js 20.x ΠΈ 18.x ΠΏΡΠΎΠ΄Π»ΠΈΡΡΡ Π΄ΠΎ Π°ΠΏΡΠ΅Π»Ρ 2026 ΠΈ 2025 Π³ΠΎΠ΄ΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ° TypeScript, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ΅Π³ΠΎ ΡΠ²Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΉ «—experimental-strip-types» ΠΈ «—experimental-transform-types». Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ TypeScript ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΎΡΠΈΡΡΠΊΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ² (ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ JavaScript Π±Π΅Π· ΡΠΈΠΏΠΎΠ²). ΠΡΠΎΡΠ°Ρ ΠΎΠΏΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ Π½Π° JavaScript Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° TypeScript, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΉ (enum) ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ (namespace).
- ΠΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° «require()» Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ JavaScript-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ESM (ECMAScript Modules) Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ESM-ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ΠΈ ΠΈΠ΄ΡΡ Π½Π° ΡΠΌΠ΅Π½Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ CommonJS, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ Π΄Π»Ρ Node.js. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ΅Π· «require()» Π² Node.js ESM-ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π±Π΅Π· await Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅).
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ESM-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² ΡΠ°ΠΉΠ»Π°Ρ Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ «.js». Π Π°Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΡΠ°ΠΊΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΠΈ CommonJS, Π΅ΡΠ»ΠΈ Π² ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΠΎΠΌ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ»Π΅ package.json ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ ΠΈΡ ΡΠΈΠΏ («type»: «module»). Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΈΠΏ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ Π² package.json, Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ CommonJS, Π° Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ, ΡΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ ESM.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ API Web Storage, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ (ΠΊΠ»Π°ΡΡ localStorage) ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ (ΠΊΠ»Π°ΡΡ sessionStorage) Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Web Storage ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊ Ρ ΡΠ»Π°Π³ΠΎΠΌ «—experimental-webstorage» ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ»Π°Π³ «—localstorage-file».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ API SQLite Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SQLite. ΠΠΎΠΌΠΈΠΌΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΊΠ°Π·Π°Π² Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° «:memory:». ΠΡΡΠ΅ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ API Web Storage ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ²Π΅ΡΡ SQLite, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ SQLite Π² ΡΠΈΡΠ»ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Node.js.
- ΠΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π° «node —run», ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ package.json.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Π΄ΠΈΡΠΊΠ΅ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ NODE_COMPILE_CACHE. ΠΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ v8-compile-cache, Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ESM.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Buffer, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ²ΡΠ°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Buffer.copy() ΠΈ Buffer.write().
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ node:fs, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ ΡΠΈΡΠ»ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠΎΠ΄Π° Π½Π° C++ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ.
- ΠΠ²ΠΈΠΆΠΎΠΊ V8 ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 12.9, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π² Chromium 129.
- Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΠ‘ Windows.
- ΠΠ·-Π·Π° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π² Node.js ΠΈ Π΄Π²ΠΈΠΆΠΊΠ΅ V8 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ C++20, ΠΏΠΎΠ²ΡΡΠ΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° GCC. ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ Node.js ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Π΅ΡΡΠΈΡ GCC 12.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Node.js ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Node.js ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π° Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ web-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ WebSocket ΠΈ Ajax, ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΡΡ ΠΊ Π‘Π£ΠΠ (MySQL, PostgreSQL, SQLite, MongoDB), ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΡ, CSS-Π΄Π²ΠΈΠΆΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ (OAuth), XML-ΠΏΠ°ΡΡΠ΅ΡΡ.
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Node.js Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ callback-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊ epoll, kqueue, /dev/poll ΠΈ select. ΠΠ»Ρ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libuv, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π½Π°Π΄ libev Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Unix ΠΈ Π½Π°Π΄ IOCP Π² Windows. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠ»Π° ΠΏΠΎΡΠΎΠΊΠΎΠ² (thread pool) Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libeio, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ DNS-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ c-ares. ΠΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠ»Π° ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ Π·Π°ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» (pipe).
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ JavaScript-ΠΊΠΎΠ΄Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google Π΄Π²ΠΈΠΆΠΊΠ° V8 (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Microsoft ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Π²Π°ΡΠΈΠ°Π½Ρ Node.js Ρ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Chakra-Core). ΠΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ Node.js ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Perl AnyEvent, Ruby Event Machine, Python Twisted ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π² Tcl, Π½ΠΎ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ (event loop) Π² Node.js ΡΠΊΡΡΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π² web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru