Node.js 19.0, ืึท ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืคืืืกื ืืืง ื ืขืฅ ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื, ืืื ืืืคืจืืื. Node.js 19 ืืื ืึท ืจืขืืืืขืจ ืฉืืืฆื ืฆืืืืึทื ืืื ืืขืจืืืึทื ืืืงืื ืืขื ืื ืืืฆื ืืื ืืื ื 2023. ืืื ืื ืงืืืขื ืืืงืข ืืขื, ืื ืกืืืืืึทืืึทืืืืฉืึทื ืคืื ืื Node.js 18 ืฆืืืืึทื ืืืขื ืืืื ืืขืขื ืืืงื, ืืืึธืก ืืืขื ืืึทืงืืืขื LTS ืกืืึทืืืก ืืื ืืืขื ืืืื ืืขืฉืืืฆื ืืื ืืคืจืื 2025. ืืืฉืึทืื ืคืื ืื ืคืจืืขืจืืืงืข LTS ืฆืืืืึทื ืคืื Node.js 16.0 ืืืขื ืืืืขืจื ืืื ืกืขืคืืขืืืขืจ 2023, ืืื ืื ืืึธืจ ืคืจืืขืจ ืืขืฆืืข LTS ืฆืืืืึทื 14.0 ืืื ืืคืจืื 2023.
ืืืืคึผื ืืืคึผืจืืืืืึทื ืฅ:
- ืื V8 ืืึธืืึธืจ ืืื ืืขืจืืืึทื ืืืงื ืฆื ืืืขืจืกืืข 10.7, ืืขืืืืื ื ืืื Chromium 107. ืฆืืืืฉื ืื ืขื ืืขืจืื ืืขื ืืื ืื ืืึธืืึธืจ ืงืึทืืคึผืขืจื ืืื ืื Node.js 18 ืฆืืืืึทื, ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืืจืื ืืืขืจืกืืข ืคืื โโืื Intl.NumberFormat API ืืื ืืืืขืจืงื, ืืืึธืก ืืืกืืฃ ื ืืึท ืคืึทื ืืงืฉืึทื ื ืคึฟืึธืจืืึทื ืจืึทื ืืข (), formatRangeToParts () ืืื selectRange (), ืืจืืคึผืื ื ืคืื ืฉืืขืื, ื ืืึท ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืจืึทืื ืืื ื ืืื ืืึทืฉืืขืืืงื ืคึผืื ืืืขืืงืืึทื, ืื ืคืืืืงืืื ืฆื ืืืึทืืฉื ืกืืจืื ืืก ืืื ืืขืฆืืืึทื ื ืืืขืจื. ืื ืื ืงืืืืขื ืืืคึผืขื ืืึทื ืกืื llhttp 8.1.0 ืืื npm 8.19.2 ืืขื ืขื ืืืื ืืขืจืืืึทื ืืืงื.
- ืึทื ืืงืกืคึผืขืจืืขื ืึทื "ื ืึธืืข -ืืืึทืืฉ" ืืึทืคึฟืขื ืืื ืคืืจืืขืืืืื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืึท ืืืึทื ืืึธืืข ืืืึธืก ืื ืฉืืจื ืึทื ืืขืจ ืคึผืจืึธืฆืขืก ืืื ืจืืกืืึทืจืืื ืืืขื ืื ืืืคึผืึธืจืืื ืืขืงืข ืขื ืืขืจืื ืืขื (ืืืฉื, ืืืื "ื ืึธืืข -watch index.js" ืืื ืขืงืกืึทืงืืืืึทื, ืืขืจ ืคึผืจืึธืฆืขืก ืืืขื ืืืื ืขืงืกืึทืงืืืืึทื. ืืืืืึธืืึทืืืฉ ืจืืกืืึทืจืืื ืืืขื index.js ืขื ืืขืจืื ืืขื).
- ืคึฟืึทืจ ืึทืืข ืึทืืืืึธืืื ื HTTP / HTTPS ืงืึทื ืขืงืฉืึทื ื, ืฉืืืฆื ืคึฟืึทืจ ืื HTTP 1.1 Keep-Alive ืืขืงืึทื ืืืึทื ืืื ืขื ืืืืึทืื, ืืืึธืก ืืึธืื ืื ืคึฟืึทืจืืื ืืื ื ืึธืคึฟื ืคึฟืึทืจ ืึท ืืืืขืจ ืฆืืื ืฆื ืคึผืจืึธืฆืขืก ืขืืืขืืข ืืืืคึผ ืจืืงืืืขืก ืืื ืืขืจ ืืขืืืืงืขืจ ืงืฉืจ. Keep-Alive ืืื ืืขืจืืื ืฆื ืคึฟืึทืจืืขืกืขืจื ืืจืืคึผืื ืืื ืคืึธืจืฉืืขืืื ื. ืืืจื ืคืขืืืงืืึทื, ืื ืขืคึฟืขื ืขื ืฆืืื ืคึฟืึทืจ ืงืฉืจ ืืื ืืึทืฉืืืื ืฆื 5 ืกืขืงืื ืืขืก. ืฉืืืฆื ืคึฟืึทืจ ืคึผืึทืจืกืื ื ืื Keep-Alive HTTP ืืขืืขืจ ืืื ืกืขืจืืืขืจ ืจืขืกืคึผืึธื ืกืขืก ืืื ืฆืืืขืืืืื ืฆื ืื HTTP ืงืืืขื ื ืืืคึผืืึทืืขื ืืืืฉืึทื, ืืื ืึธืืึทืืึทืืืง ืืืกืงืึทื ืขืงืฉืึทื ืคืื ืื ืึทืงืืืื ืงืืืืึทื ืฅ ื ืืฆื Keep-Alive ืืื ืฆืืืขืืืืื ืฆื ืื Node.js HTTP ืกืขืจืืืขืจ ืืืคึผืืึทืืขื ืืืืฉืึทื.
- ืื ืืืขืืงืจืืคึผืืึธ ืึทืคึผื ืืื ืืจืึทื ืกืคืขืจื ืฆื ืื ืกืืึทืืื ืงืึทืืขืืึธืจืืข, ืืื ืื ืืืกื ืขื ืคืื ืคืึทื ืืงืฉืึทื ื ื ืืฆื ืื ืขื25519, ืขื448, ืงืก25519 ืืื ืงืก448 ืึทืืืขืจืืืึทืื. ืฆื ืึทืงืกืขืก ืื ืืืขืืงืจืืคึผืืึธ ืืึธืืืืข, ืืืจ ืงืขื ื ืืืฆื ื ืืฆื globalThis.crypto ืึธืืขืจ ืืึทืจืคื ('ื ืึธืืข: ืงืจืืคึผืืึธ'). ืืืขืืงืจืืคึผืืึธ.
- ืฉืืืฆื ืคึฟืึทืจ ืื DTrace, SystemTap ืืื ETW (Event Tracing for Windows) ืืจืืืกืื ื ืืืฉืืจืื ืืื ืึทืืืขืงืืขื ืืืขื, ืื ืืืฉืึทืื ืคืื ืืืึธืก ืืื ืืขืืืขื ืงืึทื ืกืืืขืจื ืื ืึทืคึผืจืึธืืคึผืจืืื ืจืขืื ืฆื ืืขืจ ืงืึทืืคึผืืขืงืกืืื ืคืื ืืืื ืืืื ืื ื ืขืก ืึทืจืืืฃ ืฆื ืืึธื ืืื ืืขืจ ืึทืืืขืง ืคืื ืึท ืืขืืขืจืืง ืฉืืืฆื ืคึผืืึทื.
ืื 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