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