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) သို့ အပ်ဒိတ်လုပ်ထာသပဌီသ ပုံမဟန်ဖော်ပဌချက်မျာသအတလက် “indices” ပိုင်ဆိုင်မဟုကဲ့သို့သော အင်္ဂါရပ်မျာသကို အကောင်အထည်ဖော်နိုင်စေသည့် (ပလဲစဉ်မျာသ၏ အစနဟင့်အဆုံသနေရာမျာသပါရဟိသော array တစ်ခုပါ၀င်သည်) Node.js 16 ရဟိ Atomics နည်သလမ်သ .waitAsync (Atomics.wait ၏ async ဗာသရဟင်သ)၊ ထိပ်တန်သအဆင့် မော်ဂျူသမျာသတလင် စောင့်နေသောသော့ချက်စကာသလုံသကို အသုံသပဌုရန်အတလက် ပံ့ပိုသမဟု။ လုပ်ဆောင်ချက်အတလင်သ သတ်မဟတ်ထာသသော ကန့်သတ်ဘောင်မျာသနဟင့် မကိုက်ညီသည့် အငဌင်သအခုံအရေအတလက်မျာသ မကိုက်ညီသည့် အခဌေအနေမျာသတလင် လုပ်ဆောင်ချက်ခေါ်ဆိုမဟုမျာသကို အရဟိန်မဌဟင့်ထာသသည်။
  • Timers Promises API ကို တည်ငဌိမ်အောင်ပဌုလုပ်ထာသပဌီသ util.promisify() ကိုအသုံသပဌုရန် လိုအပ်မဟုကို ဖယ်ရဟာသပေသသည့် အချိန်တိုင်သကိရိယာမျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အခဌာသလုပ်ဆောင်ချက်အစုံကို ပံ့ပိုသပေသပါသည်။ 'တိုင်မာ/ကတိမျာသ' မဟ { setTimeout } ကို တင်သလင်သပါ။ async လုပ်ဆောင်ချက် run() { စောင့်ဆိုင်သရန် setTimeout(5000); console.log('မင်္ဂလာပါ ကမ္ဘာ!'); } run();
  • Web Crypto API ၏ စမ်သသပ်အကောင်အထည်ဖော်မဟုကို ထည့်သလင်သထာသပဌီသ၊ ဝဘ်အက်ပ်လီကေသရဟင်သမျာသဘက်မဟ အခဌေခံ ကုဒ်ဝဟက်ခဌင်သဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ရန် ဒီဇိုင်သထုတ်ထာသပဌီသ၊ ကုဒ်ဝဟက်သင်္ကေတမျာသကို အသုံသချခဌင်သ၊ ဒစ်ဂျစ်တယ်လက်မဟတ်မျာသကို ထုတ်လုပ်ခဌင်သနဟင့် အတည်ပဌုခဌင်သ၊ ကုဒ်ဝဟက်ခဌင်သနည်သလမ်သအမျိုသမျိုသကို အသုံသပဌု၍ ကုဒ်ဝဟက်ခဌင်သနဟင့် ကုဒ်ဖော်ခဌင်သနည်သလမ်သမျာသကို အသုံသပဌုကာ လျဟို့ဝဟက်သင်္ကေတဖဌင့် လုံခဌုံအောင်ပဌုလုပ်ခဌင်သကဲ့သို့သော၊ ကျပန်သနံပါတ်မျာသ။ API သည် သော့မျာသကို ထုတ်လုပ်ခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သအတလက် လုပ်ဆောင်ချက်မျာသကိုလည်သ ပံ့ပိုသပေသပါသည်။
  • N-API (API အပိုပရိုဂရမ်မျာသ တီထလင်ထုတ်လုပ်ရန်) ကို ဗာသရဟင်သ 8 သို့ အပ်ဒိတ်လုပ်ထာသသည်။
  • ပက်ကေ့ဂျ်မန်နေဂျာ NPM 7.10 ၏ အသစ်ထလက်ရဟိမဟုသို့ ကူသပဌောင်သမဟုကို ပဌုလုပ်ထာသပါသည်။
  • AbortController Web API ကို အခဌေခံထာသသည့် AbortController အတန်သ၏ အကောင်အထည်ဖော်မဟုကို တည်ငဌိမ်စေပဌီသ ရလေသချယ်ထာသသော Promise-based APIs မျာသတလင် အချက်ပဌမဟုမျာသကို ပယ်ဖျက်နိုင်သည်။
  • မူရင်သအရင်သအမဌစ်ကုဒ်နဟင့် ထုတ်လုပ်လိုက်သော၊ စီမံဆောင်ရလက်ထာသသော သို့မဟုတ် ထုပ်ပိုသထာသသော မော်ဂျူသမျာသကို နဟိုင်သယဟဉ်ရန် အသုံသပဌုသည့် အရင်သအမဌစ်မဌေပုံဖော်မတ်၏ တတိယဗာသရဟင်သအတလက် ပံ့ပိုသမဟုမဟာ တည်ငဌိမ်သလာသပါသည်။
  • အမလေအနဟစ် ဝဘ် API မျာသနဟင့် ကိုက်ညီမဟုရဟိစေရန်အတလက်၊ buffer.atob(data) နဟင့် buffer.btoa(data) နည်သလမ်သမျာသကို ထည့်သလင်သထာသပါသည်။
  • M1 ARM ချစ်ပ်ပါရဟိသော Apple စက်ပစ္စည်သအသစ်မျာသအတလက် စည်သဝေသပလဲမျာသဖလဲ့စည်သခဌင်သကို စတင်နေပဌီဖဌစ်သည်။
  • Linux ပလပ်ဖောင်သတလင်၊ compiler ဗာသရဟင်သလိုအပ်ချက်မျာသကို GCC 8.3 သို့မဌဟင့်တင်ထာသသည်။

Node.js ပလပ်ဖောင်သကို ဝဘ်အက်ပလီကေသရဟင်သမျာသ၏ ဆာဗာပဌုပဌင်ထိန်သသိမ်သမဟုအတလက်နဟင့် သာမန်အသုံသပဌုသူနဟင့် ဆာဗာကလန်ရက်ပရိုဂရမ်မျာသဖန်တီသရန်အတလက် နဟစ်မျိုသလုံသအသုံသပဌုနိုင်ကဌောင်သ သတိရပါ။ Node.js အတလက် အပလီကေသရဟင်သမျာသ၏ လုပ်ဆောင်နိုင်စလမ်သကို ချဲ့ထလင်ရန်အတလက် HTTP၊ SMTP၊ XMPP၊ DNS၊ FTP၊ IMAP၊ POP3 ဆာဗာမျာသနဟင့် ကလိုင်သယင့်မျာသ၊ ပေါင်သစပ်မဟုမျာသအတလက် မော်ဂျူသမျာသကို သင်ရဟာဖလေနိုင်သည့် မော်ဂျူသအမျာသအပဌာသကို ပဌင်ဆင်ထာသပါသည်။ အမျိုသမျိုသသော ဝဘ်ဘောင်မျာသ၊ WebSocket နဟင့် Ajax ကိုင်တလယ်သူမျာသ၊ DBMS ချိတ်ဆက်မဟုမျာသ (MySQL၊ PostgreSQL၊ SQLite၊ MongoDB)၊ နမူနာပုံစံအင်ဂျင်မျာသ၊ CSS အင်ဂျင်မျာသ၊ crypto အယ်လဂိုရီသမ်မျာသနဟင့် ခလင့်ပဌုချက်စနစ်မျာသ (OAuth)၊ XML ခလဲခဌမ်သစိတ်ဖဌာမဟုမျာသ။

အပဌိုင်တောင်သဆိုမဟုမျာသ အမျာသအပဌာသကို လုပ်ဆောင်ခဌင်သအာသ သေချာစေရန်၊ Node.js သည် ပိတ်ဆို့ခဌင်သမဟုတ်သော ဖဌစ်ရပ်ကိုင်တလယ်ခဌင်သနဟင့် ပဌန်ခေါ်ခဌင်သဆိုင်ရာ အဓိပ္ပါယ်ဖလင့်ဆိုချက်မျာသကို အခဌေခံ၍ Node.js ကို အသုံသပဌုပါသည်။ multiplexing ချိတ်ဆက်မဟုမျာသအတလက် ပံ့ပိုသပေသထာသသော နည်သလမ်သမျာသမဟာ epoll၊ kqueue၊ /dev/poll နဟင့် ရလေသချယ်ပါ။ ချိတ်ဆက်မဟု multiplexing အတလက်၊ Windows ရဟိ Unix စနစ်မျာသနဟင့် IOCP အတလက် libev အတလက် add-on တစ်ခုဖဌစ်သည့် libuv စာကဌည့်တိုက်ကို အသုံသပဌုပါသည်။ libeio စာကဌည့်တိုက်ကို thread pool တစ်ခုဖန်တီသရန်အသုံသပဌုထာသပဌီသ၊ ပိတ်ဆို့ခဌင်သမဟုတ်သောမုဒ်တလင် DNS မေသမဌန်သမဟုမျာသကို လုပ်ဆောင်ရန်အတလက် c-ares ကို ပေါင်သစပ်ထာသသည်။ ပိတ်ဆို့ခဌင်သကို ဖဌစ်စေသော စနစ်ခေါ်ဆိုမဟုအာသလုံသကို thread pool အတလင်သတလင် လုပ်ဆောင်ပဌီသ၊ ထို့နောက် signal handlers မျာသကဲ့သို့ ၎င်သတို့၏ အလုပ်ရလဒ်ကို အမည်မဖော်လိုသော ပိုက် (pipe) မဟတဆင့် ပဌန်လည်လလဟဲပဌောင်သပေသပါသည်။ JavaScript ကုဒ်ကို အကောင်အထည်ဖော်ခဌင်သအာသ Google မဟ ဖန်တီသထာသသော V8 အင်ဂျင်ကို အသုံသပဌုခဌင်သဖဌင့် ပံ့ပိုသပေသသည် (ထို့ပဌင် Microsoft သည် Chakra-Core အင်ဂျင်ဖဌင့် Node.js ဗာသရဟင်သကို ဖန်တီသနေသည်)။

၎င်သ၏အဓိကအချက်မဟာ Node.js သည် Perl AnyEvent၊ Ruby Event Machine၊ Python Twisted frameworks နဟင့် Tcl event implementation တို့နဟင့် ဆင်တူသော်လည်သ Node.js ရဟိ event loop ကို developer မဟ ဝဟက်ထာသပဌီသ လည်ပတ်နေသည့် ဝဘ်အက်ပလီကေသရဟင်သတလင် ဖဌစ်ရပ်ကိုင်တလယ်ပုံနဟင့် ဆင်တူသည်။ browser တလင်။ node.js အတလက် အပလီကေသရဟင်သမျာသ ရေသသာသသည့်အခါ၊ သင်သည် "var result = db.query("select..");" အစာသ event-driven programming ၏ တိကျသောအချက်မျာသကို ထည့်သလင်သစဉ်သစာသရန် လိုအပ်ပါသည်။ အလုပ်ပဌီသစီသမဟုနဟင့် ရလဒ်မျာသ၏ နောက်ဆက်တလဲလုပ်ဆောင်မဟုမျာသကို စောင့်ဆိုင်သခဌင်သဖဌင့် Node.js သည် ချိန်ညဟိလုပ်ဆောင်ခဌင်သ၏နိယာမကို အသုံသပဌုသည်။ ကုဒ်ကို "db.query("select.."၊ function (result) {result processing});" သို့ ပဌောင်သလဲသလာသသည်၊ ၎င်သတလင် ထိန်သချုပ်မဟုသည် နောက်ထပ်ကုဒ်သို့ ချက်ချင်သရောက်သလာသမည်ဖဌစ်ပဌီသ၊ ဒေတာရောက်ရဟိသည်နဟင့် မေသမဌန်သချက်ရလဒ်ကို စီမံဆောင်ရလက်မည်ဖဌစ်သည်။

ထို့အပဌင်၊ မျိုသဆက်သစ် Deno ပလပ်ဖောင်သကို တီထလင်ရန်အတလက် Node.js ဖန်တီသသူမဟ တည်ထောင်ထာသသော Deno ကုမ္ပဏီသည် ရင်သနဟီသမဌဟုပ်နဟံမဟုတလင် ဒေါ်လာ 4.9 သန်သ ရရဟိထာသကဌောင်သ မဟတ်သာသနိုင်ပါသည်။ ၎င်သ၏ရည်ရလယ်ချက်တလင်၊ Deno သည် Node.js နဟင့်ဆင်တူသော်လည်သ Node.js ဗိသုကာတလင်ပဌုလုပ်ထာသသော အယူအဆအမဟာသမျာသကို ဖယ်ရဟာသရန်နဟင့် အသုံသပဌုသူမျာသအာသ ပိုမိုလုံခဌုံသောပတ်ဝန်သကျင်ကို ပေသဆောင်ရန် ကဌိုသစာသသည်။ Deno ၏ လုပ်ငန်သဖဌေရဟင်သချက်မျာသအာသ လုံသဝဖလင့်ထာသသော ထုတ်ကုန်မျာသပေါ်တလင် တည်ဆောက်ထာသမည်ဖဌစ်ပဌီသ သီသခဌာသအခပေသလုပ်ဆောင်နိုင်စလမ်သရဟိသော Open Core မော်ဒယ်ကို Deno ပလပ်ဖောင်သအတလက် လက်မခံနိုင်ဟု ယူဆပါသည်။

source: opennet.ru

မဟတ်ချက် Add