рд╕рд░реНрд╡реНрд╣рд░-рд╕рд╛рдЗрдб JavaScript рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо Node.js 20.0 рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ

Node.js 20.0 рд░рд┐рд▓реАрдЭ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╡реНрдпрд╛рд╕рдкреАрда. Node.js 20.0 рд▓рд╛ рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рдорд░реНрдерди рд╢рд╛рдЦрд╛ рдореНрд╣рдгреВрди рд╡рд░реНрдЧреАрдХреГрдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реА рд╕реНрдерд┐рддреА рдХреЗрд╡рд│ рдСрдХреНрдЯреЛрдмрд░рдордзреНрдпреЗ, рд╕реНрдерд┐рд░реАрдХрд░рдгрд╛рдирдВрддрд░ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реА рдЬрд╛рдИрд▓. Node.js 20.x 30 рдПрдкреНрд░рд┐рд▓ 2026 рдкрд░реНрдпрдВрдд рд╕рдорд░реНрдерд┐рдд рдЕрд╕реЗрд▓. Node.js 18.x рдЪреНрдпрд╛ рдорд╛рдЧреАрд▓ LTS рд╢рд╛рдЦреЗрдЪреА рджреЗрдЦрднрд╛рд▓ рдПрдкреНрд░рд┐рд▓ 2025 рдкрд░реНрдпрдВрдд рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреА LTS рд╢рд╛рдЦрд╛ 16.x рдкреВрд░реНрд╡реАрдЪреА рд╕рдкреНрдЯреЗрдВрдмрд░ 2023 рдкрд░реНрдпрдВрдд рдЪрд╛рд▓реЗрд▓. 14.x LTS рд╢рд╛рдЦрд╛ 30 рдПрдкреНрд░рд┐рд▓ рд░реЛрдЬреА рдмрдВрдж рдХреЗрд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ Node.js 19.x рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╢рд╛рдЦрд╛ 1 рдЬреВрди рд░реЛрдЬреА рдмрдВрдж рдХреЗрд▓реА рдЬрд╛рдИрд▓.

рдкреНрд░рдореБрдЦ рд╕реБрдзрд╛рд░рдгрд╛:

  • V8 рдЗрдВрдЬрд┐рди рдЖрд╡реГрддреНрддреА 11.3 рдордзреНрдпреЗ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ Chromium 113 рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. Node.js 19 рд╢рд╛рдЦреЗрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдмрджрд▓, рдЬреНрдпрд╛рдиреЗ Chromium 107 рдЗрдВрдЬрд┐рди рд╡рд╛рдкрд░рд▓реЗ, String.prototype.isWellFormed рдЖрдгрд┐ toWellFormed рдлрдВрдХреНрд╢рдиреНрд╕, Array.prototype рдЖрдгрд┐ TypedArray рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. Array рдЖрдгрд┐ TypedArray рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрджрд▓рддрд╛рдирд╛ рдХреЙрдкреАрд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрджреНрдзрддреА, RegExp рдордзреАрд▓ тАЬvтАЭ рдзреНрд╡рдЬ, ArrayBuffer рдЪрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ SharedArrayBuffer рдЪрд╛ рдЖрдХрд╛рд░ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди, WebAssembly рдордзреНрдпреЗ рдЯреЗрд▓ рд░рд┐рдХрд░реНрд╢рди (рдЯреЗрд▓-рдХреЙрд▓).
  • рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдкрд░рд╡рд╛рдирдЧреА рдореЙрдбреЗрд▓ рдпрдВрддреНрд░рдгрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЬреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджрд░рдореНрдпрд╛рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛ тАЬ--рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ-рдкрд░рд╡рд╛рдирдЧреАтАЭ рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди рдкрд░рд╡рд╛рдирдЧреА рдореЙрдбреЗрд▓ рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдлрд╛рдИрд▓ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдХрд╛рд╣реА рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд▓реЗрдЦрди (--рдЕрдиреБрдорддреА-fs-рд▓рд┐рд╣рд╛) рдЖрдгрд┐ рд╡рд╛рдЪрди (--рдЕрдиреБрдорддреА-fs-рд░реАрдб) рдкреНрд░рд╡реЗрд╢ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдп рджреЗрддреЗ, рдЪрд╛рдЗрд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ (--рдкрд░рд╡рд╛рдирдЧреА-рдореБрд▓-рдкреНрд░рдХреНрд░рд┐рдпрд╛), рдЖрдгрд┐ рдЕреЕрдб-рдСрди (--рдиреЛ-рдЕреЕрдбреЙрдиреНрд╕) ) рдЖрдгрд┐ рдереНрд░реЗрдбреНрд╕ (--рдкрд░рд╡рд╛рдирдЧреА-рдХрд╛рд░реНрдпрдХрд░реНрддрд╛). рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, /tmp рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ /home/index.js рдлрд╛рдЗрд▓ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛: рдиреЛрдб тАФрдкреНрд░рд╛рдпреЛрдЧрд┐рдХ-рдкрд░рд╡рд╛рдирдЧреА тАФallow-fs-write=/tmp/ тАФallow-fs-read=/home /index.js рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ .js

    рдкреНрд░рд╡реЗрд╢ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА, process.permission.has() рдкрджреНрдзрдд рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╕реВрдЪрдирд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬprocess.permission.has('fs.write',"/tmp/test").

  • ECMAScript External Module (ESM) рд╣рдБрдбрд▓рд░реНрд╕ "--experimental-loader" рдкрд░реНрдпрд╛рдпрд╛рджреНрд╡рд╛рд░реЗ рд▓реЛрдб рдХреЗрд▓реЗрд▓реЗ рдЖрддрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдереНрд░реЗрдбрдордзреНрдпреЗ рдЪрд╛рд▓рд╡рд▓реЗ рдЬрд╛рддрд╛рдд, рдореБрдЦреНрдп рдереНрд░реЗрдбрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдЖрдгрд┐ рд▓реЛрдб рдХреЗрд▓реЗрд▓реЗ ESM рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреЗ рдЫреЗрджрдирдмрд┐рдВрджреВ рдХрд╛рдвреВрди рдЯрд╛рдХрддрд╛рдд. рдмреНрд░рд╛рдЙрдЭрд░ рдкреНрд░рдорд╛рдгреЗрдЪ, import.meta.resolve() рдкрджреНрдзрдд рдЖрддрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреВрди рдХреЙрд▓ рдХреЗрд▓реНрдпрд╛рд╡рд░ рд╕рдордХрд╛рд▓рд┐рдХрдкрдгреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ. Node.js рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдПрдХрд╛ рд╢рд╛рдЦреЗрдд, ESM рд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕реНрдерд┐рд░ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреНрдпрд╛ рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ.
  • рдореЙрдбреНрдпреВрд▓ рдиреЛрдб:рдЯреЗрд╕реНрдЯ (рдЯреЗрд╕реНрдЯ_рд░рдирд░), рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдЪрд╛рдЪрдгреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ TAP (рдЯреЗрд╕реНрдЯ рдПрдиреАрдерд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ, рд╕реНрдерд┐рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╡рд┐рдХрд╛рд╕ рд╕рдВрдШ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛, рдЬреНрдпрд╛рдиреЗ рдирд╡реАрди рд╢рд╛рдЦрд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, URL рдкрд╛рд░реНрд╕рд┐рдВрдЧ, fetch() рдЖрдгрд┐ EventTarget рдпрд╛рд╕рд╣ рд╡рд┐рд╡рд┐рдз рд░рдирдЯрд╛рдЗрдо рдШрдЯрдХрд╛рдВрдирд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдо рдХреЗрд▓реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, EventTarget рдЗрдирд┐рд╢рд┐рдПрд▓рд╛рдпрдЭреЗрд╢рдирдЪреЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЕрд░реНрдзрд╡рдЯ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, URL.canParse() рдкрджреНрдзрддреАрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╕реБрдзрд╛рд░рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЯрд╛рдЗрдорд░рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реБрдзрд╛рд░рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдпрд╛рдордзреНрдпреЗ C++ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ URL рдкрд╛рд░реНрд╕рд░, Ada 2.0 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
  • рдПрдХрд▓ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓ (SEA, рд╕рд┐рдВрдЧрд▓ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕) рд╕реНрд╡рд░реВрдкрд╛рдд рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХреНрд╖рдорддреЗрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рдЪрд╛рд▓реВ рд░рд╛рд╣рд┐рд▓рд╛. рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрддрд╛ JSON рдлреЙрд░рдореЕрдЯрдордзреАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреВрди рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓рд╛ рдмреНрд▓реЙрдм рдмрджрд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓ рдмрджрд▓рдгреНрдпрд╛рдРрд╡рдЬреА).
  • рд╡реЗрдм рдХреНрд░рд┐рдкреНрдЯреЛ API рдЪреА рд╕реБрдзрд╛рд░рд┐рдд рд╕реБрд╕рдВрдЧрддрддрд╛ рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣.
  • ARM64 рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ Windows рд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рд╕реНрдЯрдБрдб-рдЕрд▓реЛрди WebAssembly рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА WASI (WebAssembly System Interface) рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реБрд░реВ рдареЗрд╡рд▓реА рдЖрд╣реЗ. WASI рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реА.

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 рдЖрдгрд┐ рд╕рд┐рд▓реЗрдХреНрдЯ рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ. рдХрдиреЗрдХреНтАНрд╢рди рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНтАНрд╕рд┐рдВрдЧрд╕рд╛рдареА, libuv рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ, рдЬреА рдпреБрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНтАНрдЯрдорд╡рд░ libev рдЖрдгрд┐ Windows рд╡рд░реАрд▓ IOCP рд╡рд░ рдЕреЕрдб-рдСрди рдЖрд╣реЗ. libeio рд▓рд╛рдпрдмреНрд░рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдереНрд░реЗрдб рдкреВрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ c-ares рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдбрдордзреНрдпреЗ DNS рдХреНрд╡реЗрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдмреНрд▓реЙрдХрд┐рдВрдЧрд▓рд╛ рдХрд╛рд░рдгреАрднреВрдд рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рд╕рд┐рд╕реНрдЯреАрдо рдХреЙрд▓ рдереНрд░реЗрдб рдкреВрд▓рдордзреНрдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдирдВрддрд░, рд╕рд┐рдЧреНрдирд▓ рд╣рдБрдбрд▓рд░реНрд╕рдкреНрд░рдорд╛рдгреЗ, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рдорд╛рдЪрд╛ рдирд┐рдХрд╛рд▓ рдЕрдЬреНрдЮрд╛рдд рдкрд╛рдИрдкрджреНрд╡рд╛рд░реЗ рдкрд░рдд рджреЗрддрд╛рдд. Google рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ V8 рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рджреНрд╡рд╛рд░реЗ JavaScript рдХреЛрдбрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ (рдпрд╛рд╢рд┐рд╡рд╛рдп, рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЪрдХреНрд░-рдХреЛрд░ рдЗрдВрдЬрд┐рдирд╕рд╣ Node.js рдЪреА рдЖрд╡реГрддреНрддреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗ).

рддреНрдпрд╛рдЪреНрдпрд╛ рдореБрд│рд╛рдд, Node.js рд╣реЗ Perl AnyEvent, Ruby Event Machine, Python Twisted рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдгрд┐ Tcl рдордзреАрд▓ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ Node.js рдордзреАрд▓ рдЗрд╡реНрд╣реЗрдВрдЯ рд▓реВрдк рд╡рд┐рдХрд╕рдХрд╛рдкрд╛рд╕реВрди рд▓рдкрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреАрд▓ рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рд░рдЦреЗ рджрд┐рд╕рддреЗ. рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓реВ рдЖрд╣реЗ. node.js рд╕рд╛рдареА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣рд┐рддрд╛рдирд╛, рдЗрд╡реНрд╣реЗрдВрдЯ-рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬvar result = db.query(тАЬselect..тАЭ);тАЭ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА. рдХрд╛рдо рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрди рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреНрдпрд╛ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╣, Node.js рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рддрддреНрддреНрд╡ рд╡рд╛рдкрд░рддреЗ, рдЙрджрд╛. рдХреЛрдбрдЪреЗ рд░реВрдкрд╛рдВрддрд░ тАЬdb.query(тАЬselect..тАЭ, function (result) {result processing});тАЭ рдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд┐рдпрдВрддреНрд░рдг рддрд╛рдмрдбрддреЛрдм рдкреБрдвреАрд▓ рдХреЛрдбрдХрдбреЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдЖрд▓реНрдпрд╛рд╡рд░ рдХреНрд╡реЗрд░реА рдирд┐рдХрд╛рд▓рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛