ΠΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½ 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(), ΠΊΠΎΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎ Π²ΡΠ°ΡΠ° Π½ΠΎΠ²Π° ΠΈΠ½ΡΡΠ°Π½ΡΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π½ΠΈΠ·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½ ΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°, Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π° ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ .map, .filter, .find, .take, .drop, .forEach ΠΈ .reduce.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΎΠ±ΡΠ΅ΠΊΡ Set ΠΊΠΎΡ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° Π·Π±ΠΈΡΠΊΠ° Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈ Π½ΡΠ΄ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΊΠΎΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°Π°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΠ΅ΠΊ, ΡΠ½ΠΈΡΠ°, ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅.
- ΠΠ°Π³Π»Π΅Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠΊΠΈΠΎΡ JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΠΎΠ½ Π±ΡΠ·ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΊΠΎΠ΄ ΡΠΎ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° ΡΠ΅ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½ JavaScript ΠΊΠΎΠ΄. ΠΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Maglev ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΈ Π·Π°Π±ΡΠ·Π° ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΡΠ½ΠΈΡΠ΅ CLI Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ Π²ΡΡΠ°Ρ Π΄ΠΎΠ»Π³ΠΎΡΠΎΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΎΡ Jetstrea Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π·Π° 7.5%, Π° ΡΠ΅ΡΡΠΎΡ Π·Π° Π±ΡΠ·ΠΈΠ½ΠΎΠΌΠ΅Ρ Π·Π° 5%.
- Π Π°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ ΡΡΡΠΈΠΌΠΎΠ²ΠΈΡΠ΅ Π΅ Π·Π°Π±ΡΠ·Π°Π½Π° ΡΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΠ°ΡΠ° highWaterMark ΠΎΠ΄ 16 KB Π½Π° 65 KB (Π³ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° Π»ΠΈΠΌΠΈΡΠΎΡ Π΄ΠΎ ΠΊΠΎΡ Π΅ Π·Π°ΡΡΠ²Π°Π½ΠΎ ΡΠ½ΠΈΠΌΠ°ΡΠ΅ΡΠΎ). ΠΡΠΎΠΌΠ΅Π½Π°ΡΠ° ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° ΡΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΠ°ΠΊΠ° ΡΡΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° Π²ΡΠ°ΡΠ°Ρ ΡΡΠ°ΡΠ°ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΡΠ΅ΠΊΡ ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ setDefaultHighWaterMark().
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΈΠ·Π²Π΅Π΄Π±Π° Π½Π° fetch() ΠΈ API-ΡΠΎ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅, ΠΏΡΠ°Π²Π΅ΡΡΠΈ ΡΠ° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΠ°ΡΠ° Π½Π° AbortSignal ΠΏΠΎΠ΅ΡΠΈΠΊΠ°ΡΠ½Π°. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° API ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ.
- ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ βrequire()β Π·Π° Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° JavaScript ESM ΠΌΠΎΠ΄ΡΠ»ΠΈ (ECMAScript Modules) Π²ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ ΡΠ΅ΠΆΠΈΠΌ. ESM ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΈ Π³ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ CommonJS ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Node.js. ΠΠ° Π΄Π° ΡΠ΅ Π²ΡΠΈΡΠ° ΠΏΡΠ΅ΠΊΡ βrequire()β, ΠΌΠΎΠ΄ΡΠ»ΠΎΡ ESM ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π²ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ ΡΠ΅ΠΆΠΈΠΌ (Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΠ΅ΠΊΠ° Π½Π° Π½Π°ΡΠ²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ). ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° ΠΏΡΠ΅ΠΊΡ Π·Π½Π°ΠΌΠ΅ΡΠΎ β--experimental-require-moduleβ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° package.json ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° β--runβ "
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βnode βwatchβ Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π²ΠΎ ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ° ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΊΠΎΡ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ²Π΅Π·Π΅Π½Π°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ βnode βwatch index.jsβ, ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ index.js).
- ΠΡΠΈΡΠΎΠ΄Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° WebSocket API Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π°, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ WebSocket Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π΄Π΅Π»ΡΠΌΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Navigator API.
- Webstreams API Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΎΡ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΡΠΎ Π΄Π΅ΡΠ»Π°ΡΠ΅ΡΡΠΊΠΈ ΡΡΡΠΎΠ²ΠΈΠ½ΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ glob ΠΈ globSync Π½Π° node:fsmodule Π·Π° ΡΡΠΎΠ³Π»Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΠΏΠ°ΡΠ΅ΠΊΠΈΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΠΊΡΠΏΠΎΠ²ΠΈ IPv6. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Happy Eyeballs Π·Π° Π±ΡΠ·ΠΎ Π²ΡΠ°ΡΠ°ΡΠ΅ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° IPv6.
- Util API Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½.
- ΠΠΆΡΡΠΈΡΠ°Π½ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ: 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 ΠΈ 6.6.0. .
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Node.js ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΠΈ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ. ΠΠ° ΠΏΡΠΎΡΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° Node.js Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° Π΅ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π½Π° HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅Π± ΡΠ°ΠΌΠΊΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°ΡΠΈ Π½Π° WebSocket ΠΈ Ajax, ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡΠΈ Π·Π° DBMS (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 ΡΠ°ΠΌΠΊΠΈ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ Π²ΠΎ Tcl, Π½ΠΎ ΡΠΈΠΊΠ»ΡΡΠΎΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ Π²ΠΎ Node.js Π΅ ΡΠΊΡΠΈΠ΅Π½ ΠΎΠ΄ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ ΠΈ Π½Π°Π»ΠΈΠΊΡΠ²Π° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ Π²ΠΎ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΎΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru
