ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° сС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Node.js 23.0 с Π½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π΅Π·ΠΈΠΊΠ° TypeScript

Π‘ΡŠΡΡ‚ΠΎΡ сС ΠΈΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° 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 Π±Π΅Π· Ρ‚ΠΈΠΏΠΎΠ²Π΅). Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° опция ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° някои Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ синтаксиса Π½Π° TypeScript, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, избрания Ρ‚ΠΈΠΏ (enum) ΠΈ пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° (namespace), Π² JavaScript ΠΊΠΎΠ΄.
  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Β«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 Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π°.
  • ΠŸΠΎΡ€Π°Π΄ΠΈ внСдряванСто Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π² стандарта C++20, Π² Node.js ΠΈ Π΄Π²ΠΈΠΆΠΊΠ° V8, са повишСни изискванията към вСрсията Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° 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 Π΅ скрит ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ наподобява ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π² ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster