Ulimi lwe-Dart 2.14 kanye nohlaka lwe-Flutter 2.5 luyatholakala

I-Google ishicilele ukukhululwa kolimi lwezinhlelo lwe-Dart 2.14, oluqhubekisela phambili ukuthuthukiswa kwegatsha eliklanywe kabusha ngokumangalisayo le-Dart 2, elihluke enguqulweni yokuqala yolimi lwe-Dart ngokusebenzisa ukuthayipha okuqinile okuqinile (izinhlobo zingachazwa ngokuzenzakalelayo, ukucacisa izinhlobo akudingekile, kodwa ukuthayipha okuguquguqukayo akusasetshenziswa futhi ekuqaleni kubalwe uhlobo lwabelwa kokuguquguqukayo bese kusetshenziswa ukuhlolwa kohlobo oluqinile).

Izici zolimi lwe-Dart:

  • I-syntax ejwayelekile futhi kulula ukuyifunda, yemvelo ye-JavaScript, C kanye nabahleli bezinhlelo ze-Java.
  • Ukuqinisekisa ukuqaliswa okusheshayo nokusebenza okuphezulu kuzo zonke iziphequluli zewebhu zesimanje nezinhlobo ezahlukahlukene zendawo, kusukela kumadivayisi aphathekayo kuya kumaseva anamandla.
  • Ikhono lokuchaza amakilasi nokuxhumana okuvumela ukuhlanganisa nokusebenzisa kabusha izindlela ezikhona nedatha.
  • Ukucacisa izinhlobo kwenza kube lula ukulungisa iphutha nokuhlonza amaphutha, kwenza ikhodi icace futhi ifundeke kakhudlwana, futhi kwenza ukuguqulwa nokuhlaziywa kwayo kube lula ngonjiniyela bezinkampani zangaphandle.
  • Izinhlobo ezisekelwayo zifaka: izinhlobo ezihlukahlukene zama-hashi, ama-array nohlu, imigqa, izinhlobo zezinombolo nezintambo, izinhlobo zokunquma idethi nesikhathi, izinkulumo ezivamile (RegExp). Kungenzeka ukudala izinhlobo zakho siqu.
  • Ukuze kuhlelwe ukubulawa okuhambisanayo, kuhlongozwa ukusebenzisa amakilasi anemfanelo ehlukanisiwe, ikhodi ekhishwa ngokuphelele endaweni engayodwa endaweni yenkumbulo ehlukile, ixhumana nenqubo eyinhloko ngokuthumela imilayezo.
  • Ukusekelwa kokusetshenziswa kwemitapo yolwazi eyenza kube lula ukusekelwa nokulungisa amaphutha amaphrojekthi amakhulu ewebhu. Ukuqaliswa kwemisebenzi yenkampani yangaphandle kungafakwa ngendlela yamalabhulali okwabelwana ngawo. Izicelo zingahlukaniswa zibe izingxenye futhi ziphathise ukuthuthukiswa kwengxenye ngayinye eqenjini elihlukile labahleli.
  • Iqoqo lamathuluzi enziwe ngomumo ukusekela intuthuko ngolimi lwe-Dart, okuhlanganisa ukuqaliswa kokuthuthukiswa okuguquguqukayo namathuluzi okulungisa iphutha ngokulungiswa kwekhodi ngokuhamba kwesikhathi (“hlela-futhi-qhubeka”).
  • Ukwenza kube lula ukuthuthukiswa kolimi lwe-Dart, ifika ne-SDK, iphabhu yomphathi wephakeji, i-static code analyzer dart_analyzer, iqoqo lemitapo yolwazi, indawo yokuthuthukisa edidiyelwe i-DartPad kanye nama-plugin anikwe amandla e-Dart we-IntelliJ IDEA, WebStorm, Emacs, Sublime Text. 2 kanye Vim.
  • Amaphakheji engeziwe anemitapo yolwazi nezinsiza asatshalaliswa ngendawo yokugcina izincwadi, enamaphakheji angaphezu kwezinkulungwane ezingama-20.

Izinguquko ezinkulu ekukhishweni kwe-Dart 2.14:

  • I-opharetha entsha ye-triple shift (>>>) yengeziwe, leyo, ngokungafani no-opharetha ">>", engenzi izibalo, kodwa ukushintsha okunengqondo okusebenza ngaphandle kokucabangela ibhithi lophawu (ukushintsha kwenziwa ngaphandle kokuhlukaniswa izinombolo eziphozithivu nezinegethivu).
  • Kususwe umkhawulo kuma-agumenti ohlobo ovimbe izinhlobo zemisebenzi ejwayelekile ukuthi zisetshenziswe njenge-agumenti yohlobo. Isibonelo, manje ungacacisa: Uhlu lwakamuva (T)>Imisebenzi ye-id; ukushayela emuva = [ (T value) => inani]; Umsebenzi we-S ongasekho (T)>(I-S) f;
  • Vumela ukucacisa ama-agumenti anezinhlobo ezichasiselweni ezifana nokuthi @Deprecated. Isibonelo, manje ungacacisa: @TypeHelper (42, "Incazelo")
  • Izindlela ezimile ze-hash, hashAll kanye ne-hashAllUnordered zengezwe emtatsheni wezincwadi ojwayelekile (umongo) osesigabeni Sento. Ikilasi le-DateTime lithuthukise ukuphathwa kwesikhathi sasendaweni lapho kuguqulwa amawashi phakathi kwehlobo nesikhathi sasebusika angahlukaniseki ngehora elilodwa (isibonelo, e-Australia kusetshenziswa i-offset yemizuzu engama-30). Iphakheji ye-ffi yengeze ukusekelwa kwendlela yokwabiwa kwenkumbulo yenkundla, ekhipha izinsiza ngokuzenzakalelayo. Iphakheji ye-ffigen yengeze amandla okukhiqiza izincazelo ze-typedef zezinhlobo ze-Dart kusukela olimini lwe-C.
  • Amaphakheji adume kakhulu angu-250 asuka endaweni yokugcina ye-pub.dev kanye no-94% we-top-1000 ashintshelwe ekusebenziseni imodi "yokuphepha okungenalutho", ezogwema ukuphahlazeka okubangelwa imizamo yokusebenzisa okuguquguqukayo okuyinani elingachazwanga futhi kusethelwe kokuthi "Null ” " Imodi isikisela ukuthi okuguquguqukayo akukwazi ukuba namanani angenalutho ngaphandle uma kunikezwe ngokucacile inani elingenalutho. Imodi ihlonipha kakhulu izinhlobo eziguquguqukayo, okuvumela umhlanganisi ukuthi asebenzise ukulungiselelwa okwengeziwe. Uhlobo lokuthobela luyahlolwa ngesikhathi sokuhlanganiswa, isibonelo, uma uzama ukunikeza inani elithi "Null" kokuguquguqukayo okunohlobo olungasho isimo esingachazwanga, njengokuthi "int", iphutha lizovela.
  • Kuhlongozwa amasethi ahlanganisiwe emithetho yokuhlaziya ikhodi (i-linter), ehlinzeka ukusekelwa ngasikhathi sinye ukuhlola ukuthotshelwa kwemihlahlandlela yesitayela sekhodi ye-Dart kanye nohlaka lwe-Flutter. Ngenxa yezizathu zomlando, imithetho yokubhala ikhodi ye-Flutter ne-Dart yayihlukile, ngaphezu kwalokho, kwa-Dart kwakukhona amasethi amabili emithetho esetshenziswayo - ehamba ngezinyawo evela ku-Google kanye nemithetho evela emphakathini wonjiniyela we-Dart. I-Dart 2.14 yethula isethi entsha evamile yemithetho ye-linter, okunqunywa ukuthi isetshenziswe ngokuzenzakalela kumaphrojekthi amasha e-Dart naku-Flutter SDK. Isethi ihlanganisa imithetho eyinhloko (iphakheji ye-lints/core.yaml), imithetho eyengeziwe enconyiwe (i-lints/recommended.yaml), kanye nezincomo eziqondene ne-Flutter (flutter_lints/flutter.yaml). Abasebenzisi bemithetho ye-pedantic bayelulekwa ukuthi bashintshele ekusebenziseni isitayela esisha sokubhala amakhodi ngokusekelwe ezincomweni ezivela kumadokhumenti e-Dart.
  • Ngefomethi, ukuthuthukiswa kwenziwe ekufomethweni kwamabhulokhi ekhodi ye-cascading, okungathuthukisa kakhulu ukusebenza kokufometha futhi kugweme ukutolika okungacacile kobunikazi bezimpawu zenkulumo. Isibonelo, ukubiza "..doIt" enkulumweni ethi "var result = errorState ? foo : bad..doIt()” ayikhathaleli ingxenye enemibandela yebhulokhi “embi”, kodwa yonke inkulumo, ngakho-ke lapho ifometha manje isihlukanisiwe: var result = errorState ? foo : kubi ..doIt();
  • Ukusekelwa kwamaphrosesa we-Apple M1 (Silicon) kwengezwe ku-SDK, okusho kokubili amandla okusebenzisa i-Dart VM, izinsiza kanye nezingxenye ze-SDK kumasistimu ane-Apple Silicon processor, nokusekelwa kokuhlanganisa amafayela asebenzisekayo walawa mashiphu.
  • Umyalo we-"dart pub" wengeze usekelo lwefayela elisha lesevisi ".pubignore", elikuvumela ukuthi uchaze uhlu lwamafayela azokweqiwa lapho kushicilelwa iphakheji endaweni yokugcina ye-pub.dev. Lezi zilungiselelo aziphazamisi uhlu lokuziba oluthi “.gitignore” (kwezinye izimo, i-pub.dev ingase ifune ukugwema ukudlulisa amafayela adingekayo ku-Git, isibonelo, imibhalo yangaphakathi esetshenziswa phakathi nokuthuthukiswa).
  • Umsebenzi wenziwe ukuze kuthuthukiswe ukusebenza komyalo "wokuhlolwa kwe-dart", manje ongadingi ukubuyisela ukuhlolwa ngemva kokushintsha i-pubspec uma inombolo yenguqulo ingashintshile.
  • Ukusekelwa kokuhlanganiswa kumodi ehambisanayo ye-ECMAScript 5 kunqanyuliwe (ushintsho luzoholela ekulahlekelweni kokuhambisana nesiphequluli se-IE11).
  • Izinsiza ezingazodwana zesiteji, i-dartfmt kanye ne-dart2native zimenyezelwe njengeziphelelwe yisikhathi, esikhundleni salokho kwafakwa imiyalo eyakhelwe ngaphakathi ebizwa ngohlelo lwe-dart.
  • Indlela ye-VM Native Extensions yehlisiwe. Ukuze ushayele ikhodi yomdabu kusuka kukhodi ye-Dart, kuyanconywa ukuthi usebenzise i-Dart FFI entsha (Isixhumi Esibonakalayo Somsebenzi Wangaphandle).

Ngasikhathi sinye, kwethulwa ukukhishwa okubalulekile kohlaka lwesixhumi esibonakalayo somsebenzisi, i-Flutter 2.5, ethathwa njengenye indlela ye-React Native futhi ivumela, ngokusekelwe esisekelweni sekhodi esisodwa, ukukhulula izinhlelo zokusebenza ze-iOS, i-Android, iWindows, i-macOS ne-Linux. amapulatifomu, kanye nokudala izinhlelo zokusebenza ezizosebenza kuziphequluli. Igobolondo langokwezifiso lesistimu yokusebenza ye-Fuchsia microkernel eyakhiwe i-Google lakhiwe phezu kwesisekelo se-Flutter.

Ingxenye eyinhloko yekhodi ye-Flutter isetshenziswa ngolimi lwe-Dart, futhi injini yesikhathi sokusebenza sokwenza izinhlelo zokusebenza ibhalwe ku-C++. Lapho uthuthukisa izinhlelo zokusebenza, ngaphezu kolimi lwe-Dart lwendabuko lwe-Flutter, ungasebenzisa isixhumi esibonakalayo se-Dart Foreign Function ukuze ushayele ikhodi ye-C/C++. Ukusebenza okuphezulu kufinyelelwa ngokuhlanganisa izinhlelo zokusebenza kwikhodi yomdabu yezingxenyekazi eziqondiwe. Kulokhu, uhlelo aludingi ukuphinda luhlanganiswe ngemva koshintsho ngalunye - I-Dart inikeza imodi yokulayisha kabusha eshisayo evumela ukuthi wenze izinguquko kuhlelo lokusebenza olusebenzayo futhi uhlole umphumela ngokushesha.

Izinguquko ezinkulu ku-Flutter 2.5:

  • Wenze ukulungiselelwa kokusebenza okubalulekile. Kumapulatifomu e-iOS kanye ne-macOS, ukuhlanganiswa kwangaphambili kwamashader we-Metal graphics API sekuqalisiwe. Ukusebenza okuthuthukisiwe kokucubungula imicimbi ye-asynchronous. Kuxazululwe inkinga ngokubambezeleka lapho umqoqi kadoti ethola inkumbulo ezithombeni ezingasetshenzisiwe (isibonelo, ngesikhathi sokudlalwa kwe-GIF egqwayizayo yamasekhondi angu-20, inani lemisebenzi yokuqoqwa kukadoti liye lancishiswa lisuka ku-400 laya ku-4. Ukubambezeleka lapho kudluliswa imilayezo phakathi kwe-Dart ne-Objective- I-C/Swift yehliselwe ku-50% (i-iOS) noma i-Java/Kotlin (i-Android) Kwengezwe usekelo lokwakhiwo lwendabuko lwamasistimu asekelwe ku-chip ye-Apple Silicon.
    Ulimi lwe-Dart 2.14 kanye nohlaka lwe-Flutter 2.5 luyatholakala
  • Kunkundla ye-Android, usekelo lokuqalisa izinhlelo zokusebenza kumodi yesikrini esigcwele selusunguliwe. Ukuqaliswa komqondo wokuklama othi “Material You”, owethulwe njengenketho yesizukulwane esilandelayo se-Material Design, kuqhubekile. Kwengezwe isimo esisha se-MaterialState.scrolledUnder, kusetshenziswa ukuboniswa okuguquguqukayo kwamabha wokuskrola lapho kushintshwa usayizi, futhi kuhlongozwe isixhumi esibonakalayo esisha sokubonisa izibhengezo zezaziso.
  • Amakhono e-plug-in yekhamera anwetshwe kakhulu, kwengeza amathuluzi okulawula i-autofocus, ukuchayeka, i-flash, i-zoom, ukunciphisa umsindo nokuxazulula.
  • Amathuluzi onjiniyela (DevTools) athuthukisiwe ukuze afake imodi yokuhlola isinqunjwana esibuyekeziwe, kanye namathuluzi okuhlonza ukubambezeleka kokunikezwa nokulandelela ukuhlanganiswa kwe-shader.
    Ulimi lwe-Dart 2.14 kanye nohlaka lwe-Flutter 2.5 luyatholakala
  • Ama-plugin athuthukisiwe e-Visual Studio Code kanye ne-IntelliJ/Android Studio.

Source: opennet.ru

Engeza amazwana