Server-side JavaScript Node.js 16.0 නිකුතුව

Node.js 16.0 නිකුත් කරන ලදී, JavaScript හි ජාල යෙදුම් ධාවනය සඳහා වේදිකාවක්. Node.js 16.0 දිගු කාලීන ආධාරක ශාඛාවක් ලෙස වර්ගීකරණය කර ඇත, නමුත් මෙම තත්ත්වය ස්ථාවර කිරීමෙන් පසුව ඔක්තෝබර් මාසයේදී පවරනු ලැබේ. Node.js 16.0 2023 අප්‍රේල් දක්වා සහය දක්වයි. Node.js 14.0 හි පෙර LTS ශාඛාව නඩත්තු කිරීම 2023 අප්‍රේල් දක්වාත්, අවසාන LTS ශාඛාව 12.0 ට පෙර වසර 2022 අප්‍රේල් දක්වාත් පවතිනු ඇත. 10.0 LTS ශාඛාව සඳහා සහය දින 10කින් නවත්වනු ඇත.

ප්රධාන වැඩිදියුණු කිරීම්:

  • V8 එන්ජිම 9.0 අනුවාදයට යාවත්කාලීන කර ඇත (Node.js 15 භාවිතා කරන ලද නිකුතුව 8.6), එය සාමාන්‍ය ප්‍රකාශන සඳහා “දර්ශක” ගුණාංගය වැනි විශේෂාංග ක්‍රියාත්මක කිරීමට ඉඩ සලසයි (තරග කණ්ඩායම්වල ආරම්භක සහ අවසන් ස්ථාන සහිත අරාවක් ඇතුළත් වේ) , Node.js 16 .waitAsync හි පරමාණුක ක්‍රමය (Atomics.wait හි async අනුවාදය), ඉහළ මට්ටමේ මොඩියුලවල await මූල පදය භාවිතා කිරීම සඳහා සහාය වේ. සම්මත කරන ලද තර්ක ගණන ශ්‍රිතයේ අර්ථ දක්වා ඇති පරාමිතිවලට අනුරූප නොවන අවස්ථා වලදී ක්‍රියාකාරී ඇමතුම් වේගවත් කර ඇත.
  • util.promisify() භාවිතා කිරීමේ අවශ්‍යතාවය නැති කරන Promise objects ප්‍රතිදානය ලෙස ලබා දෙන ටයිමර් සමඟ වැඩ කිරීම සඳහා විකල්ප ශ්‍රිත කට්ටලයක් සපයන, Timers Promises API ස්ථාවර කර ඇත. 'timers/promises' වෙතින් {setTimeout} ආයාත කරන්න; async function run() {await setTimeout(5000); console.log('Hello, World!'); } ධාවනය ();
  • වෙබ් ක්‍රිප්ටෝ ඒපීඅයි හි පර්යේෂණාත්මක ක්‍රියාත්මක කිරීමක් එක් කර ඇත, ගුප්තකේතන හැෂ් හැසිරවීම, ඩිජිටල් අත්සන් උත්පාදනය සහ සත්‍යාපනය කිරීම, විවිධ සංකේතන ක්‍රම භාවිතයෙන් දත්ත කේතනය කිරීම සහ විකේතනය කිරීම සහ ගුප්ත ලේඛන ආරක්ෂිතව උත්පාදනය කිරීම වැනි වෙබ් යෙදුම් පැත්තෙන් මූලික ගුප්ත ලේඛන මෙහෙයුම් සිදු කිරීමට සැලසුම් කර ඇත. අහඹු සංඛ්යා. API යතුරු උත්පාදනය සහ කළමනාකරණය සඳහා ද කාර්යයන් සපයයි.
  • N-API (ඇඩෝන සංවර්ධනය සඳහා API) 8 අනුවාදයට යාවත්කාලීන කර ඇත.
  • පැකේජ කළමනාකරු NPM 7.10 හි නව නිකුතුවට මාරුවීම සිදු කර ඇත.
  • AbortController Web API මත පදනම් වූ AbortController පන්තිය ක්‍රියාත්මක කිරීම ස්ථායි කර ඇති අතර තෝරාගත් පොරොන්දු මත පදනම් වූ API වල සංඥා අවලංගු කිරීමට ඉඩ සලසයි.
  • මුල් මූල කේතය සමඟ උත්පාදනය කරන ලද, සැකසූ හෝ ඇසුරුම් කළ මොඩියුල සංසන්දනය කිරීමට භාවිතා කරන මූලාශ්‍ර සිතියම් ආකෘතියේ තුන්වන අනුවාදය සඳහා සහය ස්ථායි කර ඇත.
  • පැරණි වෙබ් API සමඟ ගැළපීම සඳහා, buffer.atob(data) සහ buffer.btoa(data) ක්‍රම එකතු කර ඇත.
  • M1 ARM චිපයෙන් සමන්විත නව Apple උපාංග සඳහා එකලස්කිරීම් ආරම්භ කර ඇත.
  • Linux වේදිකාවේ, සම්පාදක අනුවාද අවශ්‍යතා GCC 8.3 දක්වා ඉහළ නංවා ඇත.

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 පුස්තකාලය භාවිතා කරනු ලැබේ, එය Unix පද්ධති මත libev සහ Windows මත IOCP සඳහා ඇඩෝනයක් වේ. නූල් සංචිතයක් සෑදීමට libeio පුස්තකාලය භාවිතා කරන අතර, අවහිර නොවන ආකාරයෙන් DNS විමසුම් සිදු කිරීමට c-ares ඒකාබද්ධ වේ. අවහිර වීමට හේතු වන සියලුම පද්ධති ඇමතුම් නූල් තටාකය තුළ ක්‍රියාත්මක වන අතර පසුව, සංඥා හසුරුවන්නා මෙන්, ඔවුන්ගේ කාර්යයේ ප්‍රති result ලය නම් නොකළ පයිප්පයක් (නල) හරහා ආපසු මාරු කරනු ලැබේ. ජාවාස්ක්‍රිප්ට් කේතය ක්‍රියාත්මක කිරීම ගූගල් විසින් සංවර්ධනය කරන ලද V8 එන්ජිම භාවිතයෙන් සපයනු ලැබේ (මීට අමතරව, Microsoft විසින් Chakra-Core එන්ජිම සමඟ Node.js අනුවාදයක් සංවර්ධනය කරයි).

එහි හරය තුළ, Node.js Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks සහ Tcl සිදුවීම් ක්‍රියාවට නැංවීමට සමාන වේ, නමුත් Node.js හි සිදුවීම් ලූපය සංවර්ධකයාගෙන් සඟවා ඇති අතර ක්‍රියාත්මක වන වෙබ් යෙදුමක සිදුවීම් හැසිරවීමට සමාන වේ. බ්රවුසරයේ. node.js සඳහා යෙදුම් ලිවීමේදී, ඔබ "var result = db.query("select..");" කිරීම වෙනුවට, සිදුවීම් මත පදනම් වූ වැඩසටහන්කරණයේ විශේෂතා සලකා බැලිය යුතුය. වැඩ නිම කිරීම සහ පසුව ප්රතිඵල සැකසීම සඳහා බලා සිටීමත් සමග, Node.js අසමමුහුර්ත ක්රියාත්මක කිරීමේ මූලධර්මය භාවිතා කරයි, i.e. කේතය "db.query("තෝරන්න..", ශ්‍රිතය (ප්‍රතිඵලය) {ප්‍රතිඵල සැකසීම});" බවට පරිවර්තනය කර ඇත, එහිදී පාලනය ක්‍ෂණිකව වැඩිදුර කේතය වෙත ගමන් කරනු ඇති අතර, දත්ත ලැබෙන විට විමසුම් ප්‍රතිඵලය සැකසෙනු ඇත.

මීට අමතරව, ඊළඟ පරම්පරාවේ Deno වේදිකාව සංවර්ධනය කිරීම සඳහා Node.js නිර්මාතෘ විසින් ආරම්භ කරන ලද Deno සමාගමට ඩොලර් මිලියන 4.9 ක ආයෝජනයක් ලැබුණු බව සටහන් කළ හැකිය. එහි අරමුන තුළ, Deno Node.js හා සමාන වේ, නමුත් එය Node.js ගෘහ නිර්මාණ ශිල්පයේ සිදු කරන ලද සංකල්පීය දෝෂ ඉවත් කිරීමට සහ පරිශීලකයින්ට වඩාත් ආරක්ෂිත පරිසරයක් ලබා දීමට උත්සාහ කරයි. Deno හි ව්‍යාපාරික විසඳුම් සම්පූර්ණයෙන්ම විවෘත නිෂ්පාදන මත ගොඩනගා ඇති බව සටහන් කර ඇති අතර, වෙනම ගෙවන ක්‍රියාකාරීත්වයක් සහිත Open Core ආකෘතිය Deno වේදිකාව සඳහා පිළිගත නොහැකි යැයි සැලකේ.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න