Достапна Π΅ JavaScript ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Node.js 22.0.0

Π‘Π΅ΡˆΠ΅ објавСн 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€