ဆာဗာဘက်ခဌမ်သ JavaScript ပလပ်ဖောင်သ Node.js 18.0 ကို ရရဟိနိုင်ပါသည်။

Node.js 18.0 သည် JavaScript တလင် ကလန်ရက်အက်ပလီကေသရဟင်သမျာသ လုပ်ဆောင်ရန်အတလက် ပလပ်ဖောင်သတစ်ခုဖဌစ်သည်။ Node.js 18.0 ကို ရေရဟည်ပံ့ပိုသမဟုဌာနခလဲတစ်ခုအဖဌစ် သတ်မဟတ်ထာသသော်လည်သ တည်ငဌိမ်ပဌီသနောက် အောက်တိုဘာလတလင်သာ ကအခဌေအနေကို သတ်မဟတ်ပေသမည်ဖဌစ်သည်။ Node.js 18.x ကို 2025 ဧပဌီလအထိ ပံ့ပိုသပေသပါမည်။ Node.js 16.x ၏ ယခင် LTS ဌာနခလဲကို ပဌုပဌင်ထိန်သသိမ်သမဟုသည် ဧပဌီလ 2024 အထိ ကဌာမဌင့်မည်ဖဌစ်ပဌီသ နောက်ဆုံသ LTS ဌာနခလဲ 14.x မတိုင်မီ 2023 ခုနဟစ် ဧပဌီလအထိ ဖဌစ်သည်။ 12.x LTS ဌာနခလဲကို ဧပဌီလ 30 ရက်နေ့တလင် ရပ်ဆိုင်သမည်ဖဌစ်ပဌီသ Node.js 17.x အဆင့်ခလဲဌာနခလဲကို ဇလန်လ 1 ရက်နေ့တလင် ရပ်ဆိုင်သမည်ဖဌစ်သည်။

အဓိက တိုသတက်မဟုမျာသ-

  • V8 အင်ဂျင်ကို Chromium 10.1 တလင်အသုံသပဌုသည့် ဗာသရဟင်သ 101 သို့ အဆင့်မဌဟင့်တင်ထာသပါသည်။ Node.js ၏ 17.9.0 ထုတ်ဝေမဟုနဟင့် နဟိုင်သယဟဉ်ပါက၊ အဆုံသနဟင့် ဆက်စပ်နေသည့် အစိတ်အပိုင်သမျာသကို ရဟာဖလေရန်အတလက် findLast နဟင့် findLastIndex နည်သလမ်သမျာသကဲ့သို့သော အင်္ဂါရပ်မျာသအတလက် ယခုအခါ ပံ့ပိုသမဟုရဟိပါသည်။ array တစ်ခုနဟင့် Intl.supportedValuesOf လုပ်ဆောင်ချက်။ ပိုမိုကောင်သမလန်သော Intl.Locale API။ အတန်သနယ်ပယ်မျာသနဟင့် သီသသန့်နည်သလမ်သမျာသကို ကနညသစတင်ခဌင်သအာသ အရဟိန်မဌဟင့်ခဲ့သည်။
  • စမ်သသပ်မဟု fetch() API ကို ကလန်ရက်ပေါ်တလင် အရင်သအမဌစ်မျာသကို တင်ရန်အတလက် ဒီဇိုင်သထုတ်ထာသသည့် မူရင်သအတိုင်သ ဖလင့်ထာသသည်။ အကောင်အထည်ဖော်မဟုသည် HTTP/1.1 undici client မဟကုဒ်ပေါ်တလင် အခဌေခံထာသပဌီသ ဘရောက်ဆာမျာသတလင် ပေသထာသသည့် အလာသတူ API နဟင့် အနီသစပ်ဆုံသဖဌစ်သည်။ ၎င်သတလင် HTTP တောင်သဆိုချက်နဟင့် တုံ့ပဌန်မဟုခေါင်သစီသမျာသကို ကဌိုသကိုင်ခဌင်သအတလက် FormData၊ Headers၊ Request နဟင့် Response အင်တာဖေ့စ်မျာသအတလက် ပံ့ပိုသမဟု ပါဝင်သည်။ const res = wait fetch('https://nodejs.org/api/documentation.json'); if (res.ok) { const data = စောင့်နေသည် res.json(); console.log(ဒေတာ); }
  • Web Stream API ၏ စမ်သသပ်အကောင်အထည်ဖော်မဟုကို ထည့်သလင်သပဌီသ ကလန်ရက်မဟရရဟိသော ဒေတာစီသကဌောင်သမျာသကို ဝင်ရောက်ကဌည့်ရဟုခလင့်ပေသထာသပါသည်။ ဖိုင်တစ်ခုလုံသကို ဒေါင်သလုဒ်လုပ်ရန် မစောင့်ဆိုင်သဘဲ ကလန်ရက်ပေါ်မဟ အချက်အလက်မျာသ ရောက်ရဟိလာသည့်အတလက် API သည် သင့်ကိုယ်ပိုင် ကိုင်တလယ်သူအာသ ထည့်သလင်သနိုင်စေပါသည်။ Node.js တလင် ယခုရရဟိနိုင်သည့်အရာမျာသသည် ReadableStream*၊ TransformStream*၊ WritableStream*၊ TextEncoderStream၊ TextDecoderStream၊ CompressionStream နဟင့် DecompressionStream တို့ ပါဝင်သည်။
  • Blob API ကို တည်ငဌိမ်သောနေရာသို့ ရလဟေ့ထာသပဌီသ၊ သင်သည် မတူညီသော အလုပ်သမာသလိုင်သမျာသတလင် ဘေသကင်သစလာ အသုံသပဌုရန်အတလက် မပဌောင်သလဲနိုင်သော ကုန်ကဌမ်သဒေတာကို ကက်ဆူသထည့်သလင်သနိုင်စေမည်ဖဌစ်သည်။
  • BroadcastChannel API သည် တည်ငဌိမ်အောင်ပဌုလုပ်ထာသပဌီသ၊ "ပေသပို့သူတညသတည်သ - လက်ခံသူအမျာသအပဌာသ" ဖော်မတ်တလင် မက်ဆေ့ချ်မျာသဖလဟယ်ခဌင်သကို အပဌိုင်အဆိုင်မုဒ်တလင် စုစည်သနိုင်စေမည်ဖဌစ်သည်။
  • ထပ်ထည့်ထာသသော စမ်သသပ်မဟု module node:TAP (Test Anything Protocol) ဖော်မက်ဖဌင့် ရလဒ်မျာသကို ပဌန်ပေသသည့် JavaScript တလင် စမ်သသပ်မဟုမျာသ ဖန်တီသခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သအတလက် စမ်သသပ်ခဌင်သ။
  • Red Hat Enterprise Linux (RHEL) 8 နဟင့် Debian 2.28 နဟင့် Ubuntu 10 အပါအဝင် Glibc 20.04+ ကို အခဌေခံ၍ အဆင်သင့်လုပ်ထာသသော စည်သဝေသပလဲမျာသနဟင့် macOS 10.15+ အတလက် ပံ့ပိုသပေသထာသသည်။ V8 အင်ဂျင်တည်ဆောက်မဟုတလင် ပဌဿနာမျာသကဌောင့် Windows အတလက် 32-bit တည်ဆောက်မဟုမျာသကို ခေတ္တရပ်တန့်ထာသသည်။
  • စတင်ချိန်တလင် အသုံသပဌုသူရလေသချယ်ထာသသော အစိတ်အပိုင်သမျာသဖဌင့် လုပ်ဆောင်နိုင်သော Node.js ကို တည်ဆောက်ရန် စမ်သသပ်ရလေသချယ်မဟုတစ်ခု ပေသထာသသည်။ စတင်သည့် အစိတ်အပိုင်သမျာသကို သတ်မဟတ်ရန်၊ “--node-snapshot-main” option ကို configure build script တလင် ထည့်သလင်သထာသပဌီသ၊ ဥပမာ၊ “./configure —node-snapshot-main=marked.js; အမည်မဟတ်စု"

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});" သို့ ပဌောင်သလဲသလာသသည်၊ ၎င်သတလင် ထိန်သချုပ်မဟုသည် နောက်ထပ်ကုဒ်သို့ ချက်ချင်သရောက်သလာသမည်ဖဌစ်ပဌီသ၊ ဒေတာရောက်ရဟိသည်နဟင့် မေသမဌန်သချက်ရလဒ်ကို စီမံဆောင်ရလက်မည်ဖဌစ်သည်။

source: opennet.ru

မဟတ်ချက် Add