ืกืขืจื•ื•ื™ืจืขืจ-ื–ื™ื™ึทื˜ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืคึผืœืึทื˜ืคืึธืจืžืข Node.js 20.0 ืื™ื– ื‘ื ื™ืžืฆื

Node.js 20.0 ืื™ื– ื‘ืืคืจื™ื™ื˜, ืึท ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง ื ืขืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜. Node.js 20.0 ืื™ื– ืงืœืึทืกืึทืคื™ื™ื“ ื•ื•ื™ ืึท ืœืึทื ื’-ื˜ืขืจืžื™ืŸ ืฉื˜ื™ืฆืŸ ืฆื•ื•ื™ื™ึทื’, ืึธื‘ืขืจ ื“ืขื ืกื˜ืึทื˜ื•ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึทืกื™ื™ื ื“ ื‘ืœื•ื™ื– ืื™ืŸ ืืงื˜ืื‘ืขืจ, ื ืึธืš ืกื˜ื™ื™ื‘ืึทืœืึทื–ื™ื™ืฉืึทืŸ. Node.js 20.x ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ื‘ื™ื– 30 ืืคืจื™ืœ 2026. ื•ื™ืฉืึทืœื˜ ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข LTS ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ Node.js 18.x ื•ื•ืขื˜ ื“ื•ื™ืขืจืŸ ื‘ื™ื– ืืคืจื™ืœ 2025, ืื•ืŸ ื“ื™ ืœืขืฆื˜ืข LTS ืฆื•ื•ื™ื™ึทื’ 16.x ื‘ื™ื– ืกืขืคื˜ืขืžื‘ืขืจ 2023. ื“ื™ 14.x LTS ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืกืงืึทื ื˜ื™ื ื™ื•ื“ ืื•ื™ืฃ ืืคืจื™ืœ 30, ืื•ืŸ ื“ื™ Node.js 19.x ืกื˜ืึทื’ื™ื ื’ ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืกืงืึทื ื˜ื™ื ื™ื•ื“ ืื•ื™ืฃ ื™ื•ื ื™ 1.

ื”ื•ื™ืคึผื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ:

  • ื“ื™ ื•ื•8 ืžืึธื˜ืึธืจ ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• ื•ื•ืขืจืกื™ืข 11.3, ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ Chromium 113. ืขื ื“ืขืจื•ื ื’ืขืŸ ืงืึทืžืคึผืขืจื“ ืฆื• ื“ื™ Node.js 19 ืฆื•ื•ื™ื™ึทื’, ื•ื•ืึธืก ื’ืขื•ื•ื™ื™ื ื˜ ื“ื™ Chromium 107 ืžืึธื˜ืึธืจ, ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ String.prototype.isWellFormed ืื•ืŸ toWellFormed ืคืึทื ื’ืงืฉืึทื ื–, ื“ื™ Array.prototype ืื•ืŸ TypedArray. ืคึผืจืึธื•ื˜ืึทื˜ื™ื™ืคึผ ืžืขื˜ื”ืึธื“ืก ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ืงืึธืคึผื™ืข ื•ื•ืขืŸ ื˜ืฉืึทื ื’ื™ื ื’ Array ืื•ืŸ TypedArray ืึทื‘ื“ื–ืฉืขืงืฅ, ื“ื™ "v" ืคืึธืŸ ืื™ืŸ RegExp, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืจืขืกื™ื–ื™ื ื’ ArrayBuffer ืื•ืŸ ื™ื ืงืจื™ืกื™ื ื’ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ SharedArrayBuffer, ืขืง ืจืขืงื•ืจืกื™ืึธืŸ (ืขืง-ืจื•ืคืŸ) ืื™ืŸ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™.
  • ืึทืŸ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืžืึธื“ืขืœ ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืึทื– ืึทืœืึทื•ื– ืœื™ืžืึทื˜ื™ื ื’ ืึทืงืกืขืก ืฆื• ื–ื™ื›ืขืจ ืจืขืกื•ืจืกืŸ ื‘ืขืฉืึทืก ื“ื•ืจื›ืคื™ืจื•ื ื’. ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืžืึธื“ืขืœ ืฉื˜ื™ืฆืŸ ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ "--ืขืงืกืคึผืขืจื™ืžืขื ื˜ืึทืœ-ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ" ืคืึธืŸ ื•ื•ืขืŸ ืคืœื™ืกื ื“ื™ืง. ื“ืขืจ ืขืจืฉื˜ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืึธืคืคืขืจืก ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืœื™ืžื™ื˜ื™ื ื’ ืฉืจื™ื™ึทื‘ืŸ (--ืึทืœlow-fs-write) ืื•ืŸ ืœื™ื™ืขื ืขืŸ (--allow-fs-read) ืึทืงืกืขืก ืฆื• ื–ื™ื›ืขืจ ืคึผืึทืจืฅ ืคื•ืŸ ื“ืขืจ ื˜ืขืงืข ืกื™ืกื˜ืขื, ืงื™ื ื“ ืคึผืจืึทืกืขืกืึทื– (-ืึทืœlow-child-process), ืื•ืŸ ืœื™ื™ื’-ืึธื ืก (--ื ื™ื˜-ืึทื“ื“ืึทื ื–)) ืื•ืŸ ืคึฟืขื“ืขื (--ืึทืœืึธื•ื•-ืึทืจื‘ืขื˜ืขืจ). ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ืœืึธื–ืŸ ืฉืจื™ื™ื‘ืŸ ืฆื• ื“ื™ /ื˜ืžืคึผ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ืœื™ื™ืขื ืขืŸ ื“ื™ /home/index.js ื˜ืขืงืข, ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ: ื ืึธื“ืข โ€”ืขืงืกืคึผืขืจื™ืžืขื ื˜ืึทืœ-ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ โ€”allow-fs-write=/tmp/ โ€”allow-fs-read=/home /index.js ืื™ื ื“ืขืงืก.ื“ื–ืฉืก

    ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทืงืกืขืก, ืขืก ืื™ื– ืกืึทื’ื“ื–ืฉืขืกื˜ื™ื“ ืฆื• ื ื•ืฆืŸ ื“ื™ ืคึผืจืึธืฆืขืก.permission.has() ืื•ืคึฟืŸ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, "process.permission.has('fs.write',"/tmp/test").

  • ECMAScript ืขืงืกื˜ืขืจื ืึทืœ ืžืึธื“ื•ืœืข (ESM) ื”ืึทื ื“ืœืขืจืก ืœืึธื•ื“ื™ื“ ื“ื•ืจืš ื“ื™ "--ืขืงืกืคึผืขืจื™ืžืขื ื˜ืึทืœ-ืœืึธื•ื“ืขืจ" ืึธืคึผืฆื™ืข ืื™ืฆื˜ ืœื•ื™ืคืŸ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคืึธื“ืขื, ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคืึธื“ืขื, ื™ืœื™ืžืึทื ื™ื™ื˜ื™ื ื’ ื“ื™ ื™ื ื˜ืขืจืกืขืงืฉืึทืŸ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ืื•ืŸ ืœืึธื•ื“ื™ื“ ESM ืžืึทื“ื–ืฉื•ืœื–. ืขื ืœืขืš ืฆื• ื‘ืจืึทื•ื–ืขืจื–, ื“ื™ import.meta.resolve() ืื•ืคึฟืŸ ืื™ื– ืื™ืฆื˜ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืกื™ื ื˜ืฉืจืึธื ืึธื•ืกืœื™ ื•ื•ืขืŸ ื’ืขืจื•ืคืŸ ืคึฟื•ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ืื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ืฆื•ื•ื™ื™ื’ืŸ ืคื•ืŸ Node.js, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืœืึธื•ื“ื™ื ื’ ESM ืื™ื– ืคึผืœืึทื ื ืขื“ ืฆื• ื–ื™ื™ืŸ ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ื“ืขืจ ืงืึทื˜ืขื’ืึธืจื™ืข ืคื•ืŸ โ€‹โ€‹ืกื˜ืึทื‘ื™ืœ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ.
  • ื“ื™ ืžืึธื“ื•ืœืข ื ืึธื“ืข: ื˜ืขืกื˜ (ื˜ืขืกื˜_ืจืึทื ื ืขืจ), ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืื•ืŸ ืคืœื™ืกื ื“ื™ืง ื˜ืขืกืฅ ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื•ื•ืึธืก ื’ืขื‘ืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื™ืŸ TAP (Test Anything Protocol) ืคึฟืึธืจืžืึทื˜, ืื™ื– ื’ืขืžืื›ื˜ ืกื˜ืึทื‘ื™ืœ.
  • ื ื‘ืึทื–ื•ื ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืžืึทื ืฉืึทืคึฟื˜ ืื™ื– ื’ืขื’ืจื™ื ื“ืขื˜ ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ, ื•ื•ืึธืก, ื•ื•ืขืŸ ืคึผืจื™ืคึผืขืจื™ื ื’ ืึท ื ื™ื™ึทืข ืฆื•ื•ื™ื™ึทื’, ื’ืขืืจื‘ืขื˜ ืฆื• ืคืึทืจื’ื™ื›ืขืจืŸ ืคืึทืจืฉื™ื“ืŸ ืจื•ื ื˜ื™ืžืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ URL ืคึผืึทืจืกื™ื ื’, ื‘ืจืขื ื’ืขืŸ () ืื•ืŸ EventTarget. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ ืึธื•ื•ื•ืขืจื›ืขื“ ืคื•ืŸ EventTarget ื™ื ื™ื˜ื™ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืื™ื– ื›ืึทื•ื•ื“, ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื“ื™ URL.canParse () ืื•ืคึฟืŸ ืื™ื– ื‘ืื˜ื™ื™ื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ื“, ืื•ืŸ ื“ื™ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืคื•ืŸ ื˜ื™ื™ืžืขืจื– ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“. ืขืก ืื•ื™ืš ื›ื•ืœืœ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืึท ื”ื•ื™ืš-ืคืึธืจืฉื˜ืขืœื•ื ื’ URL ืคึผืึทืจืกืขืจ, Ada 2.0, ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ++.
  • ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ื™ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืคื™ื™ื™ืงื™ื™ื˜ ืคึฟืึทืจ ื“ื™ืœื™ื•ื•ืขืจื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ืื™ื™ืŸ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข (SEA, Single Executable Applications) ืื™ื– ืคืืจื‘ืœื™ื‘ืŸ. ืฉืึทืคึฟืŸ ืึท ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข ืื™ืฆื˜ ืจื™ืงื•ื•ื™ื™ืขืจื– ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืคื•ืŸ ืึท ื‘ืœืึธื‘ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืคึฟื•ืŸ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜ (ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืกืึทื‘ืกื˜ื™ื˜ื•ื˜ื™ื ื’ ืึท ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื˜ืขืงืข).
  • ื™ืžืคึผืจื•ื•ื•ื“ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ ื“ื™ ื•ื•ืขื‘ ืงืจื™ืคึผื˜ืึธ ืึทืคึผื™ ืžื™ื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ ืื ื“ืขืจืข ืคึผืจืึทื“ื–ืฉืขืงืก.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื‘ืึทืึทืžื˜ืขืจ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Windows ืื•ื™ืฃ ARM64 ืกื™ืกื˜ืขืžืขืŸ.
  • ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ WASI (WebAssembly System Interface) ื™ืงืกื˜ืขื ืฉืึทื ื– ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื˜ืึทื ื“ืึทืœืึธื ืข ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ื– ืคืืจื‘ืœื™ื‘ืŸ. ืจื™ืžื•ื•ื•ื“ ื“ื™ ื ื•ื™ื˜ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืคืึธืŸ ืฆื• ื’ืขื‘ืŸ WASI ืฉื˜ื™ืฆืŸ.

ื“ื™ Node.js ืคึผืœืึทื˜ืคืึธืจืžืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื‘ื™ื™ื“ืข ืคึฟืึทืจ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ืฉื˜ื™ืฆืŸ ืคื•ืŸ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ืื•ืŸ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืคึผืจืึธืกื˜ ืงืœื™ืขื ื˜ ืื•ืŸ ืกืขืจื•ื•ืขืจ ื ืขืฅ ืžื’ื™ืœื”. ืฆื• ื™ืงืกืคึผืึทื ื“ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ Node.js, ืึท ื’ืจื•ื™ืก ื–ืึทืžืœื•ื ื’ ืคื•ืŸ ืžืึทื“ื–ืฉื•ืœื– ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜, ืื™ืŸ ื•ื•ืึธืก ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ืžืึทื“ื–ืฉื•ืœื– ืžื™ื˜ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื”ื˜ื˜ืคึผ, ืกืžื˜ืคึผ, ืงืกืžืคึผืคึผ, ื“ื ืก, ืคื˜ืคึผ, ื™ืžืึทืคึผ, ืคึผืึธืคึผ3 ืกืขืจื•ื•ืขืจืก ืื•ืŸ ืงืœื™ื™ืึทื ืฅ, ืžืึทื“ื–ืฉื•ืœื– ืคึฟืึทืจ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ. ืžื™ื˜ ืคืึทืจืฉื™ื“ืŸ ื•ื•ืขื‘ ืคืจืึทืžืขื•ื•ืึธืจืงืก, WebSocket ืื•ืŸ Ajax ื”ืึทื ื“ืœืขืจืก, ืงืึทื ืขืงื˜ืขืจื– ืฆื• DBMS (MySQL, PostgreSQL, SQLite, MongoDB), ืžื•ืกื˜ืขืจ ืขื ื“ื–ืฉืึทื ื–, CSS ืขื ื“ื–ืฉืึทื ื–, ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืง ืึทืœื’ืขืจื™ื“ืึทืžื– ืื•ืŸ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืกื™ืกื˜ืขืžืขืŸ (OAuth), XML ืคึผืึทืจืกืขืจืก.

ืฆื• ืฉืขืคึผืŸ ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืคึผืึทืจืึทืœืขืœ ืจื™ืงื•ื•ืขืก, Node.js ื ื™ืฆื˜ ืึทืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ืงืึธื“ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืžืึธื“ืขืœ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื ื™ื˜-ื‘ืœืึทืงื™ื ื’ ื’ืขืฉืขืขื ื™ืฉ ืคึผืจืึทืกืขืกื™ื ื’ ืื•ืŸ ื“ื™ืคื™ื™ื ื™ื ื’ ืงืึทืœืœื‘ืึทืงืง ื”ืึทื ื“ืœืขืจืก. ืฉื˜ื™ืฆื˜ ืžืขื˜ื”ืึธื“ืก ืคึฟืึทืจ ืžื•ืœื˜ื™ืคึผืœืขืงืกื™ื ื’ ืงืึทื ืขืงืฉืึทื ื– ืึทืจื™ื™ึทื ื ืขืžืขืŸ epoll, kqueue, /dev/poll ืื•ืŸ select. ืคึฟืึทืจ ืงืฉืจ ืžื•ืœื˜ื™ืคึผืœืขืงืกื™ื ื’, ื“ื™ ืœื™ื‘ื•ื•ื• ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ืื™ื– ืึทืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืœื™ื‘ืขื•ื• ืื•ื™ืฃ ื™ื•ื ื™ืงืก ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ืฆื• IOCP ืื•ื™ืฃ Windows. ื“ื™ ืœื™ื‘ื™ืึธ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ืคืึธื“ืขื ื‘ืขืงืŸ, ืื•ืŸ C-ares ืื™ื– ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื“ื ืก ืคึฟืจืื’ืŸ ืื™ืŸ ืึท ื ื™ื˜-ื‘ืœืึทืงื™ื ื’ ืžืึธื“ืข. ืึทืœืข ืกื™ืกื˜ืขื ืจื•ืคื˜ ื•ื•ืึธืก ืคืึทืจืฉืึทืคืŸ ื‘ืœืึทืงื™ื ื’ ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ื“ื™ ืคืึธื“ืขื ื‘ืขืงืŸ ืื•ืŸ ื“ืขืจื ืึธืš, ื•ื•ื™ ืกื™ื’ื ืึทืœ ื”ืึทื ื“ืœืขืจืก, ืคืึธืจืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื–ื™ื™ืขืจ ืึทืจื‘ืขื˜ ืฆื•ืจื™ืง ื“ื•ืจืš ืึทืŸ ืึทื ื ื™ื™ืžื“ ืจืขืจ. ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืงืึธื“ ืื™ื– ื™ื ืฉื•ืจื“ ื“ื•ืจืš ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ื•ื•8 ืžืึธื˜ืึธืจ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš Google (ืื™ืŸ ื“ืขืจืฆื•, ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Node.js ืžื™ื˜ ื“ื™ Chakra-Core ืžืึธื˜ืึธืจ).

ืื™ืŸ ื–ื™ื™ืŸ ื”ืึทืจืฅ, Node.js ืื™ื– ืขื ืœืขืš ืฆื• ื“ื™ Perl AnyEvent, Ruby Event Machine, Python Twisted ืคืจืึทืžืขื•ื•ืึธืจืงืก ืื•ืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ืŸ Tcl, ืึธื‘ืขืจ ื“ื™ ื’ืขืฉืขืขื ื™ืฉ ืฉืœื™ื™ืฃ ืื™ืŸ Node.js ืื™ื– ืคืึทืจื‘ืึธืจื’ืŸ ืคื•ืŸ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืื•ืŸ ืจื™ื–ืขืžื‘ืึทืœื– ื’ืขืฉืขืขื ื™ืฉ ืคึผืจืึทืกืขืกื™ื ื’ ืื™ืŸ ืึท ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ื‘ืœืขื˜ืขืจืขืจ. ื•ื•ืขืŸ ืฉืจื™ื™ื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ node.js, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ื ืขืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืงืก ืคื•ืŸ ื’ืขืฉืขืขื ื™ืฉ-ื’ืขื˜ืจื™ื‘ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ "var result = db.query ("ืกืขืœืขืงื˜ื™ืจืŸ..");" ืžื™ื˜ ื•ื•ืืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืงืึทืžืคึผืœื™ืฉืึทืŸ ืคื•ืŸ ืึทืจื‘ืขื˜ ืื•ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ, Node.js ื ื™ืฆื˜ ื“ืขื ืคึผืจื™ื ืฆื™ืคึผ ืคื•ืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ื“ื•ืจื›ืคื™ืจื•ื ื’, ื™.ืข. ื“ืขืจ ืงืึธื“ ืื™ื– ืคืืจื•ื•ืื ื“ืœืขืŸ ืื™ืŸ "db.query ("ืกืขืœืขืงื˜ื™ืจืŸ ..", ืคึฟื•ื ืงืฆื™ืข (ืจืขื–ื•ืœื˜ืึทื˜) {ืจืขื–ื•ืœื˜ืึทื˜ ืคึผืจืึทืกืขืกื™ื ื’});", ืื™ืŸ ื•ื•ืึธืก ืงืึธื ื˜ืจืึธืœ ื•ื•ืขื˜ ื’ืœื™ื™ืš ืคืึธืจืŸ ืฆื• ื•ื•ื™ื™ึทื˜ืขืจ ืงืึธื“, ืื•ืŸ ื“ื™ ืึธื ืคึฟืจืขื’ ืจืขื–ื•ืœื˜ืึทื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜ ื•ื•ื™ ื“ืึทื˜ืŸ ืขืจื™ื™ื•ื•ื–.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’