Dart 2.8 ပရိုဂရမ်သမင်သဘာသာစကာသ ထလက်လာပါပဌီ။

နေရာယူခဲ့သည်။ ပရိုဂရမ်သမင်သဘာသာစကာသ ထုတ်ဝေခဌင်သ။ မဌာသ 2.8ဝဘ်နဟင့် မိုဘိုင်သစနစ်မျာသအတလက် ဖလံ့ဖဌိုသတိုသတက်မဟုအပေါ် ပဌန်လည်အာရုံစိုက်ပဌီသ ဖောက်သည်ဘက်ခဌမ်သ အစိတ်အပိုင်သမျာသကို ဖန်တီသရန်အတလက် အကောင်သဆုံသပဌင်ဆင်ထာသသည့် ပဌင်သထန်စလာပဌန်လည်ဒီဇိုင်သထုတ်ထာသသော Dart 2 ဌာနခလဲ၏ ဖလံ့ဖဌိုသတိုသတက်မဟုကို ဆက်လက်လုပ်ဆောင်သည်။

Dart 2 သည် ပဌင်သထန်သော static typing ကိုအသုံသပဌုရာတလင် မူရင်သ Dart ဘာသာစကာသနဟင့် ကလဲပဌာသသည် (အမျိုသအစာသမျာသကို အလိုအလျောက် ကောက်ချက်ချနိုင်သည်၊ ထို့ကဌောင့် အမျိုသအစာသသတ်မဟတ်ချက်သည် စိတ်ကဌိုက်ရလေသချယ်နိုင်သော်လည်သ dynamic typing ကို အသုံသမပဌုတော့ဘဲ ကနညသတလက်ချက်ထာသသော အမျိုသအစာသကို variable နဟင့် တင်သကျပ်သောအမျိုသအစာသစစ်ဆေသခဌင်သအတလက် သတ်မဟတ်ထာသသည် နောက်ပိုင်သတလင် အသုံသချခဲ့သည်။) ဝဘ်အက်ပလီကေသရဟင်သဖလံ့ဖဌိုသတိုသတက်မဟုအတလက် ကမ်သလဟမ်သသည်။ dart:html ကဲ့သို့သော သီသခဌာသ စာကဌည့်တိုက်မျာသ အစုအဝေသ နဟင့် Angular ဝဘ်ဘောင်။ မိုဘိုင်သအက်ပလီကေသရဟင်သမျာသဖန်တီသရန်အတလက် မူဘောင်တစ်ခုကို မဌဟင့်တင်နေပါသည်။ Flutterအခဌာသအရာမျာသထဲမဟ၊ Google တလင် တီထလင်နေသော microkernel လည်ပတ်မဟုစနစ်အသစ်၏ သုံသစလဲသူအခလံကို အခဌေခံ၍ တည်ဆောက်ထာသသည်။ Fuchsia.

ထုတ်ဝေမဟုအသစ်တလင်-

  • ထပ်လောင်သဆိုလိုသည်မဟာ Null တန်ဖိုသကို ဘေသကင်သစလာ အသုံသပဌုရန်၊ နောက်ပဌန်လိုက်ဖက်မဟုကို ချိုသဖျက်ခဌင်သ။ ဥပမာအာသဖဌင့်၊ “int” ကဲ့သို့ သတ်မဟတ်မထာသသော အမျိုသအစာသတစ်ခု၏ ကိန်သရဟင်တစ်ခုသို့ တန်ဖိုသ “Null” ကို သတ်မဟတ်ရန် ကဌိုသပမ်သပါက compile-time error သည် ယခု ပစ်လလဟတ်လိုက်မည်ဖဌစ်သည်။ “int?” ကဲ့သို့သော Nullable နဟင့် non-nullable အမျိုသအစာသမျာသနဟင့် လိုက်ဖက်ညီသော ကန့်သတ်ချက်မျာသကိုလည်သ ထည့်သလင်သဖော်ပဌခဲ့သည်။ နဟင့် "int" (အမျိုသအစာသ "int" ပါသော ကိန်သရဟင်ကို အမျိုသအစာသ "int" ဖဌင့် ပဌောင်သလဲသတ်မဟတ်နိုင်သော်လည်သ အပဌန်အလဟန်အာသဖဌင့် မဟုတ်ပါ)။ "return" ထုတ်ပဌန်ချက်တလင် ပဌန်ပေသထာသသော ကိန်သရဟင်မျာသနဟင့် အတူတူပင်ဖဌစ်သည် - အကယ်၍ "Null" အခဌေအနေအာသ ခလင့်မပဌုသော အမျိုသအစာသတစ်ခုပါရဟိသော ကိန်သရဟင်သည် လုပ်ဆောင်ချက်၏ကိုယ်ထည်တလင် တန်ဖိုသတစ်ခုသတ်မဟတ်မထာသပါက၊ compiler သည် error ပဌလိမ့်မည်။ ကပဌောင်သလဲမဟုမျာသသည် သင့်အာသ တန်ဖိုသသတ်မဟတ်မထာသဘဲ “Null” ဟုသတ်မဟတ်ထာသသော ကိန်သရဟင်မျာသကို အသုံသပဌုရန် ကဌိုသပမ်သခဌင်သကဌောင့် ဖဌစ်ပေါ်လာသော ပျက်စီသမဟုမျာသကို ရဟောင်ရဟာသနိုင်စေမည်ဖဌစ်သည်။
  • သိုလဟောင်မဟု pub.dev 10 packages အမဟတ်အသာသကို ကျော်သလာသပါပဌီ။ Dart 2.8 ပံ့ပိုသပေသသည့်စက်ဝန်သ၏တစ်စိတ်တစ်ပိုင်သအနေဖဌင့် pub.dev မဟပက်ကေ့ဂျ်မျာသပဌန်လည်ရယူခဌင်သ၏စလမ်သဆောင်ရည်သည် "pub get" အမိန့်ကိုလုပ်ဆောင်သောအခါ၊ "pub get" အမိန့်ကိုလုပ်ဆောင်သောအခါတလင် ပက်ကေ့ဂျ်မျာသပဌန်လည်ရယူခဌင်သအာသ ပဌိုင်တူတလဲမျာသအဖဌစ်သို့ပံ့ပိုသပေသခဌင်သဖဌင့် သိသိသာသာတိုသတက်လာခဲ့သည်။ pub run" အမိန့်။ Flutter-based ပရောဂျက်အသစ်အတလက် "pub get" ကလန်မန်သကို စမ်သသပ်ခဌင်သသည် လည်ပတ်ချိန်ကို 6.5 မဟ 2.5 စက္ကန့်မဟ လျော့နည်သသလာသကာ Flutter Gallery ကဲ့သို့သော ပိုကဌီသသော အပလီကေသရဟင်သမျာသအတလက် 15 မဟ 3 စက္ကန့်မဟ XNUMX စက္ကန့်အထိဖဌစ်သည်။
  • ထည့်သလင်သထာသသော ပက်ကေ့ဂျ်မျာသပေါ်တလင် မဟီခိုမဟုအာသလုံသကို အပ်ဒိတ်ဖဌစ်နေစေရန်အတလက် "pub ခေတ်မမီတော့သော" အမိန့်အသစ်ကို ပေါင်သထည့်ခဲ့သည်။ "pub outdated" ကလန်မန်သကို အသုံသပဌု၍ သတ်မဟတ်ထာသသည့် ပက်ကေ့ခ်ျတစ်ခုနဟင့် ဆက်စပ်နေသည့် မဟီခိုမဟုအာသလုံသ၏ အဓိကဗာသရဟင်သအသစ်မျာသရဟိမရဟိ pubspec ဖိုင်ကို အပဌောင်သအလဲမပဌုလုပ်ဘဲ အကဲဖဌတ်နိုင်ပါသည်။ "pub upgrade" နဟင့်မတူဘဲ command အသစ်သည် pubspec နဟင့်သက်ဆိုင်သည့်ဗာသရဟင်သမျာသကိုသာမက ဘဏ်ခလဲအသစ်မျာသကိုလည်သ စစ်ဆေသပါသည်။ ဥပမာအာသဖဌင့်၊ ပင်ထိုသထာသသော မဟီခိုမဟုမျာသပါရဟိသော ပက်ကေ့ဂျ်အတလက် "foo: ^1.3.0" နဟင့် "bar: ^2.0.0" ကို အသုံသပဌုနေသည့် "pub ခေတ်နောက်ကျနေပဌီ" ကို အသုံသပဌုနေသည့် အကိုင်သအခက်မျာသနဟင့် အသစ်သော ဘဏ်ခလဲနဟစ်ခုစလုံသ၏ ပါဝင်မဟုကို ပဌသပါမည်-

    မဟီခိုမဟု လက်ရဟိ အဆင့်မဌဟင့်နိုင်သော ဖဌေရဟင်သနိုင်သော နောက်ဆုံသထလက်
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    ဘာသ 2.0.1 2.1.0 3.0.3 3.0.3

Dart ဘာသာစကာသ၏အင်္ဂါရပ်မျာသ

  • JavaScript၊ C နဟင့် Java ပရိုဂရမ်မာမျာသအတလက် သဘာဝကျသော သင်ယူရလလယ်ကူသော syntax။
  • ခေတ်မီဝဘ်ဘရောက်ဆာမျာသအာသလုံသနဟင့် သယ်ဆောင်ရလလယ်ကူသော ကိရိယာမျာသမဟ အစလမ်သထက်ဆာဗာမျာသအထိ၊ သယ်ဆောင်ရလလယ်ကူသော ကိရိယာမျာသမဟသည် ခေတ်မီဝဘ်ဘရောက်ဆာမျာသအာသလုံသနဟင့် ပတ်ဝန်သကျင်အမျိုသအစာသအမျိုသမျိုသအတလက် လျင်မဌန်စလာ လလဟင့်တင်နိုင်မဟုနဟင့် စလမ်သဆောင်ရည်မဌင့်မာသမဟုကို သေချာစေခဌင်သ၊
  • ရဟိပဌီသသာသနည်သလမ်သမျာသနဟင့် ဒေတာမျာသကို ကက်ကက်ချခဌင်သနဟင့် ပဌန်လည်အသုံသပဌုခဌင်သတို့ကို ခလင့်ပဌုသည့် အတန်သမျာသနဟင့် အင်တာဖေ့စ်မျာသကို သတ်မဟတ်နိုင်စလမ်သ၊
  • အမျိုသအစာသမျာသကို သတ်မဟတ်ခဌင်သသည် အမဟာသအယလင်သမျာသကို အမဟာသရဟာရန်နဟင့် ခလဲခဌာသသတ်မဟတ်ရန် ပိုမိုလလယ်ကူစေပဌီသ၊ ကုဒ်ကို ပိုမိုရဟင်သလင်သစေပဌီသ ပိုမိုဖတ်ရဟုနိုင်စေကာ ပဌင်ပကုမ္ပဏီဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသက ၎င်သ၏ပဌုပဌင်မလမ်သမံမဟုနဟင့် ခလဲခဌမ်သစိတ်ဖဌာမဟုကို ရိုသရဟင်သစေသည်။
  • ပံ့ပိုသပေသထာသသော အမျိုသအစာသမျာသ ပါဝင်သည်- အမျိုသမျိုသသော hash အမျိုသအစာသမျာသ၊ အခင်သအကျင်သမျာသနဟင့် စာရင်သမျာသ၊ တန်သစီမျာသ၊ ဂဏန်သမျာသနဟင့် စာတန်သအမျိုသအစာသမျာသ၊ ရက်စလဲနဟင့် အချိန်ကို ဆုံသဖဌတ်ရန် အမျိုသအစာသမျာသ၊ ပုံမဟန်ဖော်ပဌချက်မျာသ (RegExp)။ ဖဌစ်နိုင်စရာ သင့်ကိုယ်ပိုင်ဖန်တီသပါ။ အမျိုသအစာသမျာသ;
  • Parallel execution ကို စုစည်သရန်၊ isolate attribute ဖဌင့် classes မျာသကို အသုံသပဌုရန် အဆိုပဌုထာသပဌီသ၊ သီသခဌာသ memory area ရဟိ သီသခဌာသနေရာတစ်ခုတလင် လုံသလုံသလျာသလျာသ လုပ်ဆောင်သည့် ကုဒ်ကို မက်ဆေ့ချ်ပေသပို့ခဌင်သဖဌင့် ပင်မလုပ်ငန်သစဉ်နဟင့် အပဌန်အလဟန်အကျိုသပဌုခဌင်သ၊
  • ကဌီသမာသသော ဝဘ်ပရောဂျက်မျာသ၏ ပံ့ပိုသမဟုနဟင့် အမဟာသရဟာပဌင်ခဌင်သကို ရိုသရဟင်သစေသော စာကဌည့်တိုက်မျာသအသုံသပဌုမဟုအတလက် ပံ့ပိုသမဟု။ Third-party လုပ်ဆောင်ချက်မျာသကို မျဟဝေထာသသော ဒစ်ဂျစ်တိုက်ပုံစံတလင် ထည့်သလင်သနိုင်သည်။ အပလီကေသရဟင်သမျာသကို အပိုင်သမျာသခလဲ၍ အစိတ်အပိုင်သတစ်ခုစီ၏ ဖလံ့ဖဌိုသတိုသတက်မဟုကို သီသခဌာသပရိုဂရမ်မာအဖလဲ့တစ်ဖလဲ့ထံ အပ်နဟင်သနိုင်သည်။
  • ဒိုင်သနမစ်ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် အမဟာသရဟာပဌင်သည့်ကိရိယာမျာသကို အကောင်အထည်ဖော်ခဌင်သအပါအဝင် Dart ဘာသာစကာသတလင် ဖလံ့ဖဌိုသတိုသတက်မဟုကို ပံ့ပိုသရန် အဆင်သင့်လုပ်ထာသသောကိရိယာအစုံအလင် (“တည်သဖဌတ်ခဌင်သနဟင့် ဆက်လုပ်ရန်”)၊
  • Dart ဘာသာစကာသတလင် ဖလံ့ဖဌိုသတိုသတက်မဟုကို ရိုသရဟင်သစေရန်၊ ၎င်သနဟင့် ပါရဟိသည်။ SDK ကို၊ အထုပ်မန်နေဂျာ အရက်ဆိုင်ငဌိမ်ကုဒ်ခလဲခဌမ်သစိတ်ဖဌာသူ dart_analyzerစာကဌည့်တိုက်မျာသ အစုံလိုက်၊ ပေါင်သစပ်ဖလံ့ဖဌိုသတိုသတက်ရေသ ပတ်ဝန်သကျင် DartPad နဟင့် Dart-enabled plugins မျာသအတလက် IntelliJ IDEA၊ WebStorm, Emacs, သူတော်ကောင်သတရာသ 2 О Vim;
  • စာကဌည့်တိုက်မျာသနဟင့် အသုံသအဆောင်ပစ္စည်သမျာသပါရဟိသော အပိုပက်ကေ့ခ်ျမျာသကို သိုလဟောင်ရုံမဟတဆင့် ဖဌန့်ဝေပါသည်။ အရက်ဆိုင်အထုပ်ပေါင်သ 10 ကျော်ရဟိပါတယ်။

source: opennet.ru

မဟတ်ချက် Add