JavaScript ప్లాట్‌ఫారమ్ Node.js 22.0.0 అందుబాటులో ఉంది

Node.js 22.0 విడుదల చేయబడింది, ఇది జావాస్క్రిప్ట్‌లో నెట్‌వర్క్ అప్లికేషన్‌లను అమలు చేయడానికి ఒక ప్లాట్‌ఫారమ్. Node.js 22.0 దీర్ఘకాలిక మద్దతు శాఖగా వర్గీకరించబడింది, అయితే ఈ స్థితి స్థిరీకరణ తర్వాత అక్టోబర్‌లో మాత్రమే కేటాయించబడుతుంది. Node.js 22.xకి ఏప్రిల్ 30, 2027 వరకు మద్దతు ఉంటుంది. Node.js 20.x యొక్క మునుపటి LTS బ్రాంచ్ నిర్వహణ ఏప్రిల్ 2026 వరకు మరియు చివరి LTS బ్రాంచ్ 18.xకి ముందు సంవత్సరం ఏప్రిల్ 2025 వరకు ఉంటుంది. Node.js 21.x స్టేజింగ్ బ్రాంచ్ జూన్ 1, 2024న నిలిపివేయబడుతుంది.

ప్రధాన మెరుగుదలలు:

  • V8 ఇంజిన్ వెర్షన్ 12.4కి నవీకరించబడింది, ఇది Chromium 124లో ఉపయోగించబడింది. V21 8 ఇంజిన్‌ని ఉపయోగించిన Node.js 11.8 బ్రాంచ్‌తో పోల్చిన మార్పులలో, ఇది గుర్తించబడింది:
    • WasmGC పొడిగింపుకు మద్దతు, ఇది వెబ్‌అసెంబ్లీకి చెత్త కలెక్టర్ (కోట్లిన్, PHP, జావా మొదలైనవి) ఉపయోగించే ప్రోగ్రామింగ్ భాషలలో వ్రాసిన ప్రోగ్రామ్‌ల పోర్టింగ్‌ను సులభతరం చేస్తుంది. WasmGC నాన్-లీనియర్ మెమరీ కేటాయింపును ఉపయోగించగల కొత్త రకాల నిర్మాణాలు మరియు శ్రేణులను జోడిస్తుంది.
    • Array.fromAsync() పద్ధతికి మద్దతు, ఇది శ్రేణి-వంటి, మళ్ళించదగిన లేదా అసమకాలిక పునరావృత ఆబ్జెక్ట్ నుండి కాపీ చేయబడిన అర్రే ఆబ్జెక్ట్ యొక్క కొత్త ఉదాహరణను అసమకాలికంగా అందిస్తుంది.
    • .map, .filter, .find, .take, .drop, .forEach మరియు .reduce వంటి ఇటరేటర్ పద్ధతులకు మద్దతు.
    • విలువల సేకరణను నిర్వచించే సెట్ ఆబ్జెక్ట్‌కు మద్దతు మరియు ఖండన, యూనియన్, తేడా మరియు అదనంగా వంటి సాధారణ సెట్ కార్యకలాపాలను అమలు చేసే పద్ధతులను అందిస్తుంది.
  • Maglev ఆప్టిమైజింగ్ JIT కంపైలర్ డిఫాల్ట్‌గా ప్రారంభించబడింది, ఇది ఎక్కువగా ఉపయోగించే JavaScript కోడ్ కోసం అధిక-పనితీరు గల మెషిన్ కోడ్‌ను త్వరగా రూపొందించడానికి ఉద్దేశించబడింది. Maglevని ప్రారంభించడం వలన దీర్ఘకాలిక కార్యకలాపాలు నిర్వహించని స్వల్పకాలిక CLI అప్లికేషన్‌లను గణనీయంగా వేగవంతం చేయవచ్చు, ఉదాహరణకు, Jetstrea పరీక్షను పూర్తి చేసే సమయం 7.5% మరియు స్పీడోమీటర్ పరీక్ష 5% తగ్గింది.
  • హైవాటర్‌మార్క్ ఎంపిక విలువను 16 KB నుండి 65 KBకి పెంచడం ద్వారా స్ట్రీమ్‌లతో పని వేగవంతం చేయబడింది (రికార్డింగ్ బఫర్ చేయబడిన పరిమితిని నిర్వచిస్తుంది). మార్పు ఫలితంగా మెమరీ వినియోగం పెరుగుతుంది, కాబట్టి పరిమిత RAMతో అమలు చేయడానికి రూపొందించిన అప్లికేషన్‌లు setDefaultHighWaterMark()కి కాల్ చేయడం ద్వారా పాత విలువకు తిరిగి రావాలి.
  • AbortSignal ఇన్‌స్టాంటియేషన్‌ను మరింత సమర్థవంతంగా చేయడం ద్వారా ఫెచ్() మరియు టెస్ట్ రన్నర్ APIల పనితీరు మెరుగుపరచబడింది. ఫైల్ సిస్టమ్‌లతో సమకాలీకరణ పనికి సంబంధించిన APIల పనితీరు మెరుగుపరచబడింది.
  • సింక్రోనస్ మోడ్‌లో JavaScript ESM మాడ్యూల్స్ (ECMAScript మాడ్యూల్స్) లోడ్ చేయడానికి "అవసరం()" కాల్‌ని ఉపయోగించడానికి ఒక ప్రయోగాత్మక ఫీచర్ అందించబడింది. ESM మాడ్యూల్స్ బ్రౌజర్‌లలో ఉపయోగించబడతాయి మరియు Node.jsకి ప్రత్యేకమైన CommonJS మాడ్యూల్‌లను భర్తీ చేస్తాయి. "require()" ద్వారా లోడ్ చేయడానికి, ESM మాడ్యూల్ తప్పనిసరిగా సింక్రోనస్ మోడ్‌లో అమలు చేయబడాలి (అగ్ర స్థాయిలో వేచి ఉండకుండా). "--ప్రయోగాత్మక-అవసరం-మాడ్యూల్" ఫ్లాగ్ ద్వారా మద్దతు ప్రారంభించబడింది.
  • ప్యాకేజీ.json ఫైల్‌లో "--రన్" ఆదేశాన్ని ఉపయోగించి నిర్వచించిన స్క్రిప్ట్‌లను అమలు చేయడానికి ప్రయోగాత్మక సామర్థ్యం జోడించబడింది "
  • దిగుమతి చేసుకున్న ఫైల్ మారినప్పుడు ప్రక్రియ పునఃప్రారంభించబడుతుందని నిర్ధారించే వాచ్ మోడ్ అమలుతో “node –watch” ఆదేశం స్థిరమైన వర్గానికి తరలించబడింది (ఉదాహరణకు, “node –watch index.js” అమలు చేయబడితే, index.js మారినప్పుడు ప్రక్రియ స్వయంచాలకంగా పునఃప్రారంభించబడుతుంది).
  • WebSocket API యొక్క స్థానిక అమలు స్థిరీకరించబడింది, అదనపు డిపెండెన్సీలను ఇన్‌స్టాల్ చేయకుండా క్లయింట్ మోడ్‌లో WebSocketని ఉపయోగించడానికి అనుమతిస్తుంది.
  • నావిగేటర్ APIకి పాక్షిక మద్దతు జోడించబడింది.
  • Webstreams API డిఫ్లేట్-రా కంప్రెషన్ ఫార్మాట్‌కు మద్దతును జోడించింది.
  • ఫైల్ పాత్‌ల నమూనా సరిపోలిక కోసం నోడ్:fsmoduleకి గ్లోబ్ మరియు గ్లోబ్‌సింక్ ఫంక్షన్‌లు జోడించబడ్డాయి.
  • తప్పుగా కాన్ఫిగర్ చేయబడిన IPv6 స్టాక్‌ల నిర్వహణ మెరుగుపరచబడింది. IPv6 ఆపరేషన్‌లో సమస్యలు ఎదురైనప్పుడు త్వరిత రోల్‌బ్యాక్ కోసం హ్యాపీ ఐబాల్స్ అల్గారిథమ్ అమలు చేయబడింది.
  • వినియోగ API నిలిపివేయబడింది.
  • అప్‌డేట్ చేయబడిన డిపెండెన్సీ వెర్షన్‌లు: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson నుండి 3.8.0, 2.7.7. 6.6.0 మరియు XNUMXdici.XNUMX. ada .

Node.js ప్లాట్‌ఫామ్‌ను వెబ్ అప్లికేషన్‌ల సర్వర్-సైడ్ సపోర్ట్ కోసం మరియు ప్రామాణిక క్లయింట్- మరియు సర్వర్-సైడ్ నెట్‌వర్క్ ప్రోగ్రామ్‌లను రూపొందించడానికి రెండింటినీ ఉపయోగించవచ్చు. Node.js అప్లికేషన్‌ల కార్యాచరణను విస్తరించడానికి, అమలు చేసే వాటితో సహా మాడ్యూళ్ల యొక్క పెద్ద సేకరణను సిద్ధం చేశారు. సర్వర్లు మరియు HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, వివిధ వెబ్ ఫ్రేమ్‌వర్క్‌లతో అనుసంధానం కోసం మాడ్యూల్స్, వెబ్‌సాకెట్ మరియు అజాక్స్ హ్యాండ్లర్లు, DBMS (MySQL, PostgreSQL, SQLite, MongoDB) కు కనెక్టర్లు, టెంప్లేట్ ఇంజిన్‌లు, CSS ఇంజిన్‌లు, క్రిప్టోగ్రాఫిక్ అల్గారిథమ్‌లు మరియు ఆథరైజేషన్ సిస్టమ్‌ల అమలులు (OAuth), XML పార్సర్‌లు.

పెద్ద సంఖ్యలో సమాంతర అభ్యర్థనలను నిర్వహించడానికి, Node.js నాన్-బ్లాకింగ్ ఈవెంట్ ప్రాసెసింగ్ మరియు కాల్‌బ్యాక్ హ్యాండ్లర్‌లను నిర్వచించడం ఆధారంగా అసమకాలిక కోడ్ అమలు నమూనాను ఉపయోగిస్తుంది. మల్టీప్లెక్సింగ్ కనెక్షన్‌ల కోసం మద్దతు ఉన్న పద్ధతులలో epoll, kqueue, /dev/poll మరియు సెలెక్ట్ ఉన్నాయి. కనెక్షన్ మల్టీప్లెక్సింగ్ కోసం, libuv లైబ్రరీ ఉపయోగించబడుతుంది, ఇది Unix సిస్టమ్స్‌లో libev మరియు Windowsలో IOCPకి యాడ్-ఆన్. libeio లైబ్రరీ థ్రెడ్ పూల్‌ని సృష్టించడానికి ఉపయోగించబడుతుంది మరియు నాన్-బ్లాకింగ్ మోడ్‌లో DNS ప్రశ్నలను నిర్వహించడానికి c-ares ఏకీకృతం చేయబడింది. నిరోధించడానికి కారణమయ్యే అన్ని సిస్టమ్ కాల్‌లు థ్రెడ్ పూల్‌లో అమలు చేయబడతాయి మరియు సిగ్నల్ హ్యాండ్లర్ల వలె, పేరులేని పైపు ద్వారా వారి పని ఫలితాన్ని తిరిగి పంపుతుంది.

Google అభివృద్ధి చేసిన V8 ఇంజిన్‌ను ఉపయోగించడం ద్వారా జావాస్క్రిప్ట్ కోడ్ అమలు చేయబడుతుందని నిర్ధారించబడుతుంది (అదనంగా, మైక్రోసాఫ్ట్ చక్ర-కోర్ ఇంజిన్‌తో Node.js సంస్కరణను అభివృద్ధి చేస్తోంది). దాని ప్రధాన భాగంలో, Node.js అనేది Perl AnyEvent, రూబీ ఈవెంట్ మెషిన్, పైథాన్ ట్విస్టెడ్ ఫ్రేమ్‌వర్క్‌లు మరియు Tclలో ఈవెంట్‌ల అమలును పోలి ఉంటుంది, అయితే Node.jsలోని ఈవెంట్ లూప్ డెవలపర్ నుండి దాచబడింది మరియు వెబ్ అప్లికేషన్‌లో ఈవెంట్ ప్రాసెసింగ్‌ను పోలి ఉంటుంది. బ్రౌజర్‌లో నడుస్తోంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి