W3C သည် WebAssembly ကို အကြံပြုထားသော စံတစ်ခုဖြစ်သည်။

W3C လုပ်ငန်းစု ကြေငြာခဲ့သည် WebAssembly နည်းပညာကို အကြံပြုထားသော စံတစ်ခု၏ အနေအထားကို ပေးဆောင်ခြင်း။ WebAssembly သည် အမျိုးမျိုးသော ပရိုဂရမ်းမင်းဘာသာစကားများမှ စုစည်းလုပ်ဆောင်သည့် အပလီကေးရှင်းများအတွက် ဘရောက်ဆာ-အမှီအခိုကင်းသော၊ ကမ္ဘာလုံးဆိုင်ရာ၊ အဆင့်နိမ့် အလယ်အလတ်ကုဒ်ကို ပံ့ပိုးပေးပါသည်။ WebAssembly သည် စွမ်းဆောင်ရည်မြင့်မားသော ဝဘ်အက်ပလီကေးရှင်းများဖန်တီးရန်အတွက် ပိုမိုအလားအလာရှိသော သယ်ဆောင်ရလွယ်ကူသော ဘရောက်ဆာတစ်ခုအဖြစ် နေရာယူထားသည်။ WebAssembly သည် ဗီဒီယိုကုဒ်သွင်းခြင်း၊ အသံလုပ်ဆောင်ခြင်း၊ ဂရပ်ဖစ်နှင့် 3D ခြယ်လှယ်ခြင်း၊ ဂိမ်းဖွံ့ဖြိုးတိုးတက်မှု၊ လျှို့ဝှက်စာဝှက်လုပ်ဆောင်မှုများ၊ သင်္ချာတွက်ချက်မှုများနှင့် သယ်ဆောင်ရလွယ်ကူသော ပရိုဂရမ်ဘာသာစကားများကို အကောင်အထည်ဖော်ဖန်တီးမှုများကဲ့သို့သော စွမ်းဆောင်ရည်အလေးပေးလုပ်ဆောင်မှုများအတွက် အသုံးပြုနိုင်ပါသည်။

WebAssembly သည် Asm.js နှင့် ပုံစံအမျိုးမျိုးဖြင့် ဆင်တူသော်လည်း ၎င်းသည် JavaScript နှင့် မသက်ဆိုင်သော binary ဖော်မတ်တစ်ခုဖြစ်သည်။ WebAssembly သည် ရှင်းလင်းပြတ်သားသောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုကိုအသုံးပြုသောကြောင့် အမှိုက်စုဆောင်းသူမလိုအပ်ပါ။ WebAssembly အတွက် JIT ကိုအသုံးပြုခြင်းဖြင့်၊ သင်သည် မူရင်းကုဒ်နှင့် နီးစပ်သော စွမ်းဆောင်ရည်အဆင့်များကို ရရှိနိုင်သည်။ WebAssembly ၏ အဓိကပန်းတိုင်များထဲတွင် မတူညီသောပလပ်ဖောင်းများတွင် သယ်ဆောင်ရလွယ်ကူမှု၊ ကြိုတင်မှန်းဆနိုင်သော အပြုအမူနှင့် ထပ်တူကျသော ကုဒ်များလုပ်ဆောင်မှုကို သေချာစေရန်ဖြစ်သည်။ အခုနောက်ပိုင်းတော့ WebAssembly မှာလည်း ရှိတယ်။ တိုးတက်လာသည် မည်သည့်အခြေခံအဆောက်အဦ၊ လည်ပတ်မှုစနစ်နှင့် စက်ပစ္စည်းများတွင်မဆို လုံခြုံသောကုဒ်လုပ်ဆောင်မှုအတွက် universal platform တစ်ခုအနေဖြင့်၊ ဘရောက်ဆာများတွင် အကန့်အသတ်မရှိ၊

W3C သည် WebAssembly နှင့်ပတ်သက်သည့် စံသတ်မှတ်ချက်သုံးခုကို စံသတ်မှတ်ထားသည်။

  • WebAssembly Core ဖြစ်သည် — WebAssembly အလယ်အလတ်ကုဒ်ကို လုပ်ဆောင်ရန်အတွက် အဆင့်နိမ့် virtual machine တစ်ခုကို ဖော်ပြသည်။ WebAssembly ဆိုင်ရာ အရင်းအမြစ်များသည် ၎င်းဒေတာနှင့် လုပ်ဆောင်ရန်အတွက် static data နှင့် code အပိုင်းများပါရှိသော Java ".class" ဖိုင်နှင့် ဆင်တူသော ".wasm" ဖော်မတ်ဖြင့် လာပါသည်။
  • WebAssembly ဝဘ် API — “.wasm” အရင်းအမြစ်များကို တောင်းဆိုခြင်းနှင့် လုပ်ဆောင်ခြင်းအတွက် Promise ယန္တရားအပေါ် အခြေခံ၍ ပရိုဂရမ်ရေးဆွဲခြင်း အင်တာဖေ့စ်ကို သတ်မှတ်သည်။ WebAssembly ရင်းမြစ်ဖော်မတ်သည် ဖိုင်ကို အပြည့်အဝတင်ရန် မစောင့်ဆိုင်းဘဲ စတင်လုပ်ဆောင်ရန် အကောင်းဆုံးဖြစ်ပြီး၊ ဝဘ်အက်ပ်လီကေးရှင်းများ၏ တုံ့ပြန်မှုကို ပိုမိုကောင်းမွန်စေပါသည်။
  • WebAssembly JavaScript Interface — JavaScript နှင့် ပေါင်းစည်းရန်အတွက် API တစ်ခုကို ပေးသည်။ သင့်အား တန်ဖိုးများကို ရယူပြီး ကန့်သတ်ဘောင်များကို WebAssembly လုပ်ဆောင်ချက်များသို့ ဖြတ်သန်းခွင့်ပြုသည်။ WebAssembly ၏လုပ်ဆောင်မှုသည် JavaScript လုံခြုံရေးစံနမူနာကိုလိုက်နာပြီး ပင်မစနစ်နှင့် အပြန်အလှန်တုံ့ပြန်မှုအားလုံးကို JavaScript ကုဒ်ကိုလုပ်ဆောင်ခြင်းကဲ့သို့ပင် လုပ်ဆောင်သည်။

အနာဂတ်တွင်၊ ကျွန်ုပ်တို့သည် ဤကဲ့သို့သော WebAssembly အင်္ဂါရပ်များအတွက် သတ်မှတ်ချက်များကို ပြင်ဆင်ရန် စီစဉ်ထားသည်-

  • မျှဝေထားသောမှတ်ဉာဏ်နှင့် အက်တမ်မှတ်ဉာဏ်ဝင်ရောက်မှုနှင့်အတူ ဘက်စုံသုံးစည်းများ ချိတ်ဆက်ခြင်း၊
  • SIMD ကို အခြေခံ၍ လှည့်ပတ်လုပ်ဆောင်မှုကို အပြိုင်လုပ်ဆောင်ခြင်းကို ခွင့်ပြုပေးသော Vector လုပ်ဆောင်ချက်များ၊
  • WebAssembly ကုဒ်မှ အရာဝတ္ထုများကို တိုက်ရိုက်ရည်ညွှန်းခြင်းအတွက် အကိုးအကား အမျိုးအစားများ။
  • stack တွင်အပိုနေရာမကုန်ဘဲ function များကိုခေါ်ဆိုနိုင်ခြင်း။
  • ECMAScript မော်ဂျူးများနှင့် ပေါင်းစည်းခြင်း - ECMAScript 6 သတ်မှတ်ချက်များနှင့် ကိုက်ညီသော မော်ဂျူးများအဖြစ် JavaScript မှ WebAssembly ကုဒ်ကို တင်နိုင်ခြင်း၊
  • အမှိုက်သိမ်းမုဒ်;
  • အမှားရှာပြင်ခြင်း အင်တာဖေ့စ်များ;
  • WASI (WebAssembly System Interface) - လည်ပတ်မှုစနစ်နှင့် တိုက်ရိုက်အပြန်အလှန်ဆက်သွယ်မှုအတွက် API (ဖိုင်များ၊ ဆော့ဖ်ဝဲများ၊ စသည်ဖြင့်) လုပ်ဆောင်ရန်အတွက် POSIX API။

    source: opennet.ru

မှတ်ချက် Add