ΠΠ΅ΡΠ΅ ΠΏΡΡΠ½Π°Ρ Node.js 22.0, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² JavaScript. Node.js 22.0 Π΅ ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΊΠ»ΠΎΠ½ Π·Π° Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π½ΠΎ ΡΠΎΠ·ΠΈ ΡΡΠ°ΡΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π΅Π΄Π²Π° ΠΏΡΠ΅Π· ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ, ΡΠ»Π΅Π΄ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅. Node.js 22.x ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΎ 30 Π°ΠΏΡΠΈΠ» 2027 Π³. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ LTS ΠΊΠ»ΠΎΠ½ Π½Π° Node.js 20.x ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄ΠΎ Π°ΠΏΡΠΈΠ» 2026 Π³., Π° ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° LTS ΠΊΠ»ΠΎΠ½ 18.x Π΄ΠΎ Π°ΠΏΡΠΈΠ» 2025 Π³. Π‘ΡΠ΅Π½ΠΈΡΠ½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π½Π° Node.js 21.x ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ Π½Π° 1 ΡΠ½ΠΈ 2024 Π³.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ:
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΡΡ V8 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 12.4, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² Chromium 124. Π‘ΡΠ΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΠΎΠ½Π° Node.js 21, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ V8 11.8), ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ WasmGC, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ±ΠΈΡΠ°Ρ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ (Kotlin, PHP, Java ΠΈ Π΄Ρ.) ΠΊΡΠΌ WebAssembly. WasmGC Π΄ΠΎΠ±Π°Π²Ρ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΡΡΠΊΡΡΡΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ΅ΡΠΎΠ΄Π° Array.fromAsync(), ΠΊΠΎΠΉΡΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ Π²ΡΡΡΠ° Π½ΠΎΠ² Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΎΠ±Π΅ΠΊΡ Array, ΠΊΠΎΠΏΠΈΡΠ°Π½ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΌΠ°ΡΠΈΠ², ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π΅ΠΊΡ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΊΠ°ΡΠΎ .map, .filter, .find, .take, .drop, .forEach ΠΈ .reduce.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠ±Π΅ΠΊΡ Set, ΠΊΠΎΠΉΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΎΠ±ΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅, ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠΈΡΡ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π½Π° Maglev Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ Π±ΡΡΠ·ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ Π·Π° ΡΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ JavaScript ΠΊΠΎΠ΄. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Maglev ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΡΠΊΠΎΡΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½ΠΈΡΠ΅ CLI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠ° Jetstrea Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΡΡΡ 7.5%, Π° ΡΠ΅ΡΡΡΡ Speedometer Ρ 5%.
- Π Π°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΏΠΎΡΠΎΡΠΈ Π΅ ΡΡΠΊΠΎΡΠ΅Π½Π° ΡΡΠ΅Π· ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΡΠ° highWaterMark ΠΎΡ 16 KB Π½Π° 65 KB (ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ°, Π΄ΠΎ ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΡΠ΅ΡΠΈΡΠ° Π·Π°ΠΏΠΈΡΡΡ). ΠΡΠΎΠΌΡΠ½Π°ΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° RAM, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π°Ρ ΠΊΡΠΌ ΡΡΠ°ΡΠ°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° setDefaultHighWaterMark().
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° fetch() ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ° Π½Π° AbortSignal ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π°. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° API, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ "require()" Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ESM ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° JavaScript (ECMAScript ΠΌΠΎΠ΄ΡΠ»ΠΈ) Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. ESM ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² Π±ΡΠ°ΡΠ·ΡΡΠΈΡΠ΅ ΠΈ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Ρ CommonJS ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Node.js. ΠΠ° Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅Π΄ΠΈ ΡΡΠ΅Π· "require()", ESM ΠΌΠΎΠ΄ΡΠ»ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ (Π±Π΅Π· ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π½Π° Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ). ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΡΠ΅Π· ΡΠ»Π°Π³Π° β--experimental-require-moduleβ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° package.json Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "--run" "
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βnode βwatchβ Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π² ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΉΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ βnode βwatch index.jsβ, ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ index.js ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ).
- ΠΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° API Π½Π° WebSocket Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° WebSocket Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΠ°ΡΡΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° API Π½Π° Navigator.
- API Π½Π° Webstreams Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ deflate-raw.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ glob ΠΈ globSync ΠΊΡΠΌ node:fsmodule Π·Π° ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΠΏΡΡΠΈΡΠ°.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ IPv6 ΡΡΠ΅ΠΊΠΎΠ²Π΅. ΠΡΠ²Π΅Π΄Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Happy Eyeballs Π·Π° Π±ΡΡΠ·ΠΎ Π²ΡΡΡΠ°Π½Π΅ Π½Π°Π·Π°Π΄ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° IPv6.
- API Π½Π° util Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½.
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson Π΄ΠΎ 3.8.0, ada 2.7.7 ΠΈ undici 6.6.0 .
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Node.js ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΡΡΠ²ΡΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠ° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π·Π° Node.js Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π² ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π± ΡΠ°ΠΌΠΊΠΈ, WebSocket ΠΈ Ajax ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ, Π‘Π£ΠΠ ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡΠΈ (MySQL, PostgreSQL, SQLite, MongoDB), ΠΌΠ°ΡΠΈΠ½ΠΈ Π·Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, CSS ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΊΡΠΈΠΏΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ (OAuth), XML Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ.
ΠΠ° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, Node.js ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΌΡΠ»ΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ epoll, kqueue, /dev/poll ΠΈ select. ΠΠ° ΠΌΡΠ»ΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libuv, ΠΊΠΎΡΡΠΎ Π΅ Π΄ΠΎΠ±Π°Π²ΠΊΠ° ΠΊΡΠΌ libev Π² Unix ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΊΡΠΌ IOCP Π² Windows. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libeio ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ» ΠΎΡ Π½ΠΈΡΠΊΠΈ, Π° c-ares Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° DNS Π·Π°ΡΠ²ΠΊΠΈ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ. ΠΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅, ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² ΠΏΡΠ»Π° ΠΎΡ Π½ΠΈΡΠΊΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ, ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π· Π½Π΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ ΠΊΠ°Π½Π°Π».
ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° JavaScript ΠΊΠΎΠ΄ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ V8, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Google (Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Microsoft ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Node.js Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ Chakra-Core). Π ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° ΡΠΈ Node.js Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π² Tcl, Π½ΠΎ ΡΠΈΠΊΡΠ»ΡΡ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π² Node.js Π΅ ΡΠΊΡΠΈΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ ΠΏΡΠΈΠ»ΠΈΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π² ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Ρ Π² Π±ΡΠ°ΡΠ·ΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru