Node.js 21.0 рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд▓реЗрдЯрдлрд░реНрдоред Node.js 21.0 рд╢рд╛рдЦрд╛рд▓рд╛рдИ 6 рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЧрд░рд┐рдиреЗрдЫред рдЖрдЧрд╛рдореА рджрд┐рдирд╣рд░реВрдорд╛, Node.js 20 рд╢рд╛рдЦрд╛рдХреЛ рд╕реНрдерд┐рд░реАрдХрд░рдг рдкреВрд░рд╛ рд╣реБрдиреЗрдЫ, рдЬрд╕рд▓реЗ LTS рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫ рд░ рдЕрдкреНрд░рд┐рд▓ 2026 рд╕рдореНрдо рд╕рдорд░реНрдерд┐рдд рд╣реБрдиреЗрдЫред Node.js 18.0 рдХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ LTS рд╢рд╛рдЦрд╛рдХреЛ рдорд░реНрдордд рд╕реЗрдкреНрдЯреЗрдореНрдмрд░ 2025 рд╕рдореНрдо рд░ рдЕрдиреНрддрд┐рдо LTS рд╢рд╛рдЦрд╛ 16.0 рдЕрдШрд┐рдХреЛ рд╡рд░реНрд╖ рдЕрдкреНрд░рд┐рд▓ 2024 рд╕рдореНрдо рдЪрд▓реНрдиреЗрдЫред
рдореБрдЦреНрдп рд╕реБрдзрд╛рд░рд╣рд░реВ:
- Fetch API рд▓рд╛рдИ рд╕реНрдерд┐рд░ рдШреЛрд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд▓реЛрдб рдЧрд░реНрди рд░ рд╕рд░реНрднрд░ рд░ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкрдХреНрд╖рд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА JavaScript рдХреЛрдбрдХреЛ рд▓реЗрдЦрдирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди HTTP/1.1 undici рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рдХреЛрдбрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ рд░ рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рди API рдХреЛ рд╕рдХреЗрд╕рдореНрдо рдирдЬрд┐рдХ рдЫред API рд▓реЗ fetch() рд╡рд┐рдзрд┐ рд░ рд╣реЗрдбрд░ рд╡рд╕реНрддреБрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдЕрдиреБрд░реЛрдз рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, HTTP рд╣реЗрдбрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрджреИ, рдЕрдиреБрд░реЛрдз рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред const res = wait fetch('https://nodejs.org/api/documentation.json'); рдпрджрд┐ (res.ok) { const data = рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН res.json(); console.log(рдбреЗрдЯрд╛); }
- WebStreams API рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди, рдЬрд╕рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рдПрдкреАрдЖрдИрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реБрди рдирдкрд░реНрдиреЗ рдЧрд░реА рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рд╕реВрдЪрдирд╛ рдЖрдЙрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ рдбрд╛рдЯрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдердкреНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред Node.js рдорд╛ рдЙрдкрд▓рдмреНрдз рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, рд░ DecompressionStream рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред
- ╨Ф╨╛╨▒╨░╨▓╨╗╨╡╨╜╨░ ╤Н╨║╤Б╨┐╨╡╤А╨╕╨╝╨╡╨╜╤В╨░╨╗╤М╨╜╨░╤П ╤А╨╡╨░╨╗╨╕╨╖╨░╤Ж╨╕╤П ╨║╨╗╨╕╨╡╨╜╤В╨░ WebSocket, ╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╤Б ╨▒╤А╨░╤Г╨╖╨╡╤А╨░╨╝╨╕. ╨Ф╨╗╤П ╨▓╨║╨╗╤О╤З╨╡╨╜╨╕╤П ╨┐╨╛╨┤╨┤╨╡╤А╨╢╨║╨╕ WebSocket ╨┐╤А╨╡╨┤╤Г╤Б╨╝╨╛╤В╤А╨╡╨╜ ╤Д╨╗╨░╨│ ┬лтАФexperimental-websocket┬╗.
- CommonJS (Node.js рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖) рдХреЛ рд╕рдЯреНрдЯрд╛ JavaScript рдореЛрдбреНрдпреБрд▓ ESM (ECMAScript рдореЛрдбреНрдпреБрд▓рд╣рд░реВ, рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ) рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореЛрдб рдердкрд┐рдпреЛред рдкрд░рд┐рд╡рд░реНрддрдирд▓реЗ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрджреИрди рдЬрд╕рдХреЛ рдврд╛рдБрдЪрд╛ рдкреНрдпрд╛рдХреЗрдЬ.json рдорд╛ "рдЯрд╛рдЗрдк" рдлрд┐рд▓реНрдб рдорд╛рд░реНрдлрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, "--рдЗрдирдкреБрдЯ-рдкреНрд░рдХрд╛рд░" рдлреНрд▓реНрдпрд╛рдЧ рдорд╛рд░реНрдлрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╡рд╛ рдлрд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рдирдХреЛ рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рдЫ (рдИрдПрд╕рдПрдордХрд╛ рд▓рд╛рдЧрд┐ mjs, .cjsред CommonJS рдХреЛ рд▓рд╛рдЧреА)ред рдпрджреНрдпрдкрд┐, CommonJS рдХреЛ рд░реВрдкрдорд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирдЧрд░рд┐рдПрдХрд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓рд╛рдИ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, ".js" рд╡рд┐рд╕реНрддрд╛рд░ рдЫ) рдирдпрд╛рдБ рдореЛрдб рд╕рдХреНрд╖рдо рд╣реБрдБрджрд╛ ESM рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдорд╛рдирд┐рдиреЗрдЫред рдирдпрд╛рдБ рдореЛрдбреНрдпреБрд▓ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╕рдХреНрд░рд┐рдп рдЧрд░реНрди, "--рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ-рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд-рдкреНрд░рдХрд╛рд░" рдЭрдгреНрдбрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред
- V8 рдЗрдиреНрдЬрд┐рди рд╕рдВрд╕реНрдХрд░рдг 11.8 рдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдХреНрд░реЛрдорд┐рдпрдо 118 рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдЕрдм ArrayBuffer.prototype.transfer рд╡рд┐рдзрд┐, рд╕рдореВрд╣ arrays рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ (groupBy рд╡рд┐рдзрд┐) рд░ рд╕реНрдерд┐рд░рддрд╛рд╣рд░реВ (i32.add, i32.sub,) рдкреНрд░рд╢реЛрдзрдирдХрд╛ рд▓рд╛рдЧрд┐ WebAssembly рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред i32.mul, i64 .add, i64.sub рд░ i64.mul)ред
- рдЧреНрд▓реЛрдмрд▓ рдкреНрд░реАрд▓реЛрдб рд╣реНрдпрд╛рдиреНрдбрд▓рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдмрдиреНрдж рдЧрд░рд┐рдПрдХреЛ рдЫ, рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рджрд░реНрддрд╛ рд░ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдХрд▓рд╣рд░реВрдХреЛ рдкрдХреНрд╖рдорд╛ред
- Fs.writeFile рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ "рдлреНрд▓рд╕" рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдПрдХреЛ рдЫ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдЦрди рдХрд╛рд░реНрдп рдкрдЫрд┐ рдбреНрд░рд╛рдЗрднрдорд╛ рдлреНрд▓рд╕ рдЧрд░реНрди рдбреЗрдЯрд╛ рдмрд▓ рдЧрд░реНрдиред
- URL рдкрд╛рд░реНрд╕рд┐рдЩ, рдлреЗрдЪ API, рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ, рдиреЛрдб: fs, рд░ HTTP рд╕рдореНрдмрдиреНрдзреА рдХреЛрдбрдХреЛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдкреНрд░рджрд░реНрд╢рдиред
- рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдиреЗрднрд┐рдЧреЗрдЯрд░ рд╡рд╕реНрддреБ рдердкрд┐рдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, CPU рдХреЛрд░ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдИрд▓реЗ navigator.hardwareConcurrency рдЧреБрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
- "-рдкрд░реАрдХреНрд╖рдг" рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛, рдЪрд▓рд╛рдЙрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЪрдпрди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЧреНрд▓реЛрдм рдорд╛рд╕реНрдХрд╣рд░реВрдХреЛ рд╕рдорд░реНрдерди рдердкрд┐рдПрдХреЛ рдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ "тАФtest **/*.test.js" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред
- рдмрдиреНрдбрд▓ рдЧрд░рд┐рдПрдХреЛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ npm 10.2.0 рд░ llhttp 9.1.2 рдкрд╛рд░реНрд╕рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред
- рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛ 2019 рд░ macOS рдХреЛ 11.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, рд░ рдЪрдпрди рд╕рдорд╛рд╡реЗрд╢ рдЫред рдЬрдбрд╛рди рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐, libuv рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬреБрди рдпреБрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ libev рд░ Windows рдорд╛ IOCP рдорд╛ рдПрдб-рдЕрди рд╣реЛред libeio рдкреБрд╕реНрддрдХрд╛рд▓рдп рдереНрд░реЗрдб рдкреВрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд░ c-ares рдПрдХ рдЧреИрд░-рдмреНрд▓рдХрд┐рдЩ рдореЛрдбрдорд╛ DNS рдкреНрд░рд╢реНрдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдПрдХреАрдХреГрдд рдЫред рд╕рдмреИ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рдЬрд╕рд▓реЗ рдмреНрд▓рдХрд┐рдЩ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ рдереНрд░реЗрдб рдкреВрд▓ рднрд┐рддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐, рд╕рд┐рдЧреНрдирд▓ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдЬрд╕реНрддреИ, рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛ рдЕрдЬреНрдЮрд╛рдд рдкрд╛рдЗрдк рдорд╛рд░реНрдлрдд рдлрд┐рд░реНрддрд╛ рдкрд╛рд░реНрдЫред рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧреБрдЧрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд V8 рдЗрдиреНрдЬрд┐рдирдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛рд░реНрдлрдд рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ (рдЕрддрд┐рд░рд┐рдХреНрдд, рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯрд▓реЗ рдЪрдХреНрд░-рдХреЛрд░ рдЗрдиреНрдЬрд┐рдирдХреЛ рд╕рд╛рде Node.js рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ)ред
рдпрд╕рдХреЛ рдореВрд▓рдорд╛, Node.js Perl AnyEvent, Ruby Event Mechine, Python Twisted рдлреНрд░реЗрдорд╡рд░реНрдХ рд░ Tcl рдорд╛ рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫ, рддрд░ Node.js рдорд╛ рдШрдЯрдирд╛ рд▓реБрдк рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдмрд╛рдЯ рд▓реБрдХреЗрдХреЛ рдЫ рд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рдШрдЯрдирд╛ рдкреНрд░рд╢реЛрдзрдирд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫред рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫред node.js рдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡реЗрджрдирд╣рд░реВ рд▓реЗрдЦреНрджрд╛, рдШрдЯрдирд╛-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "var result = db.query("select..");" рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ред рдХрд╛рдордХреЛ рд╕рдорд╛рдкрди рд░ рдкрд░рд┐рдгрд╛рдорд╣рд░реВрдХреЛ рдкрдЫрд┐рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрдБрджреИ, Node.js рд▓реЗ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд┐рджреНрдзрд╛рдиреНрдд рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЕрд░реНрдерд╛рддреНред рдХреЛрдбрд▓рд╛рдИ "db.query("select..", function (рдирддрд┐рдЬрд╛) {рдирддрд┐рдЬрд╛ рдкреНрд░рд╢реЛрдзрди});" рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рддреБрд░реБрдиреНрддреИ рдЕрд░реНрдХреЛ рдХреЛрдбрдорд╛ рдЬрд╛рдиреЗрдЫ, рд░ рдбрд╛рдЯрд╛ рдЖрдЗрдкреБрдЧреНрджрд╛ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдорд▓рд╛рдИ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреЗрдЫред
рд╕реНрд░реЛрдд: opennet.ru
