Dart 2.14 mutauro uye Flutter 2.5 chimiro chiripo

Google yakaburitsa kuburitswa kweiyo Dart 2.14 programming language, iyo inoenderera mberi nekuvandudzwa kwebazi rakagadziridzwa zvakanyanya reDart 2, iro rinosiyana neshanduro yekutanga yemutauro weDart nekushandisa yakasimba static typing (mhando dzinogona kunyorerwa otomatiki, saka. kudoma mhando hazvidiwe, asi typing ine simba haichashandiswe uye yekutanga komputa mhando inopihwa kune iyo shanduko uye yakasimba yemhando yekutarisa inozoiswa).

Zvimiro zvemutauro weDart:

  • Kujairika uye nyore-kudzidza-syntax, yakasikwa yeJavaScript, C uye Java programmers.
  • Kuve nechokwadi chekuvhurwa nekukurumidza uye kushanda kwepamusoro kune ese emazuvano mabhurawuza ewebhu uye akasiyana marudzi enzvimbo, kubva pamidziyo inotakurika kuenda kumaseva ane simba.
  • Iko kugona kutsanangura makirasi uye interfaces inobvumira encapsulation uye kushandiswazve kwemaitiro aripo uye data.
  • Kudoma mhando kunoita kuti zvive nyore kugadzirisa uye kuona zvikanganiso, kunoita kuti kodhi ive yakajeka uye iverengeke, uye inorerutsa kugadziridzwa kwayo uye kuongororwa nevagadziri vebato rechitatu.
  • Mhando dzinotsigirwa dzinosanganisira: marudzi akasiyana-siyana emahashi, mitsara uye rondedzero, mitsetse, nhamba nemhando dzetambo, marudzi ekuona zuva nenguva, matauriro anogara aripo (RegExp). Zvinokwanisika kugadzira mhando dzako.
  • Kuronga kuuraya kwakafanana, zvinokurudzirwa kushandisa makirasi ane ega hunhu, iyo kodhi inotevedzwa zvachose munzvimbo yakasarudzika munzvimbo yakaparadzana yekurangarira, ichipindirana neiyo huru maitiro nekutumira mameseji.
  • Tsigiro yekushandiswa kwemaraibhurari anorerutsa rutsigiro nekugadzirisa mapurojekiti makuru ewebhu. Kuitwa kwechitatu-bato kwemabasa kunogona kuverengerwa mumhando yemaraibhurari akagovaniswa. Zvishandiso zvinogona kukamurwa kuita zvikamu uye kupa kusimudzira kwechikamu chimwe nechimwe kune chakasiyana timu yevagadziri.
  • Seti yezvishandiso zvakagadzirirwa kutsigira budiriro mumutauro weDart, kusanganisira kuisirwa kwesimba rekusimudzira uye kugadzirisa maturusi ane kodhi yekugadzirisa panhunzi ("edit-and-continue").
  • Kurerutsa budiriro mumutauro weDart, inouya neSDK, pasuru maneja pub, static code analyzer dart_analyzer, seti yemaraibhurari, yakasanganiswa budiriro nharaunda DartPad uye Dart-inogonesa plugins yeIntelliJ IDEA, WebStorm, Emacs, Sublime Chinyorwa. 2 uye vim.
  • Mapakeji ekuwedzera ane maraibhurari uye zvinoshandiswa anogoverwa kuburikidza neiyo pub repository, iyo ine anopfuura zviuru makumi maviri emapakeji.

Shanduko huru muDart 2.14 kuburitswa:

  • A new triple shift opareta (>>>) yakawedzerwa, iyo, kusiyana neye ">>” mushandisi, haiite arithmetic, asi inonzwisisika shanduko inoshanda pasina kufunga nezve bhiti rechiratidzo (kuchinja kunoitwa pasina kupatsanura kuita. nhamba dzakanaka uye dzisina kunaka).
  • Yakabvisa chirambidzo panharo dzemhando dzaitadzisa generic function types kushandiswa senharo yemhando. Semuenzaniso, ikozvino unogona kutsanangura: kunonoka Rondedzero (T)>idFunctions; var callback = [ (T kukosha) => kukosha]; kunonoka S Basa (T)>(S) f;
  • Bvumira kududza nharo dzine mhando muzvirevo zvakaita se @Deprecated. Semuenzaniso, unogona ikozvino kutsanangura: @TypeHelper (42, "Zvinorehwa")
  • Nzira dzakasimba hashi, hashAll uye hashAllUnordered dzawedzerwa kuraibhurari yakajairwa (core) mukirasi yeChinhu. Kirasi yeDateTime yakavandudza mabatirwo enguva yemuno painoshandura wachi pakati pechirimo nechando nguva isingapatsanurwe neawa imwe chete (semuenzaniso, kuAustralia gadziriso yemaminitsi makumi matatu inoshandiswa). Iyo ffi package yakawedzera tsigiro yearena memory allocation mechanism, iyo inoburitsa otomatiki zviwanikwa. Iyo ffigen package yakawedzera kugona kugadzira typedef tsananguro dzemhando dzeDart kubva mumutauro weC.
  • Iwo mazana maviri nemakumi mashanu emapakeji anozivikanwa kubva ku pub.dev repository uye 250% yepamusoro-94 akachinjirwa kushandisa "null chengetedzo" modhi, iyo inodzivirira kuputsika kunokonzerwa nekuedza kushandisa vhezheni iyo kukosha kwayo kusingazivikanwe uye yakaiswa ku "Null. ” " Iyo modhi inoreva kuti misiyano haigone kuve isina mahuremu kunze kwekunge yanyatso kupihwa kukosha kweiyo null. Iyo modhi inonyatso remekedza akasiyana marudzi, ayo anobvumira muunganidzi kushandisa mamwe optimizations. Rudzi rwekuteerera runotariswa panguva yekuunganidza, semuenzaniso, kana ukaedza kugovera kukosha kwe "Null" kune shanduko ine mhando isingarevi mamiriro asina kutsanangurwa, akadai se "int", kukanganisa kucharatidzwa.
  • Yakabatana seti yemitemo yekodhi analyzer (linter) inokurudzirwa, ichipa rutsigiro panguva imwe chete yekutarisa kutevedza nekodhi dhizaini nhungamiro yeDart uye Flutter chimiro. Nezvikonzero zvenhoroondo, iyo mitemo yekukodha yeFlutter neDart yaive yakasiyana, nekuwedzera, kune Dart kwaive nemaseti maviri emitemo yaishandiswa - pedantic kubva kuGoogle uye mitemo kubva kunharaunda yeDart yekuvandudza. Dart 2.14 inosuma itsva yakajairika seti yemitemo ye linter, iyo inosarudzwa kuti ishandiswe nekusarudzika mumapurojekiti matsva eDart uye muFlutter SDK. Seti inosanganisira misimboti yemitemo (lints/core.yaml package), inokurudzirwa mimwe mitemo (lints/recommended.yaml), uye Flutter-specific recommendation (flutter_lints/flutter.yaml). Vashandisi vemitemo yepedantic vanorairwa kuti vachinje kushandisa iyo nyowani yekukodha maitiro zvichienderana nekurudziro kubva kumagwaro eDart.
  • Mufomati, magadzirirwo akaitwa kufomati yecascading code blocks, iyo inogona kuvandudza zvakanyanya mafomati kuita uye kudzivirira kududzira kusinganzwisisike kwemuridzi wezvinhu zvekutaura. Semuenzaniso, kudaidza "..doIt" muchirevo che "var result = errorState? foo : bad..doIt()" harinei neconditional chikamu che "chakaipa" bhuroko, asi chirevo chese, saka pakufomatidza kwave kuparadzaniswa: var result = errorState ? foo : zvakaipa ..doIt();
  • Tsigiro yeApple M1 (Silicon) processors yakawedzerwa kuSDK, zvichireva kugona kumhanya Dart VM, zvishandiso uye SDK zvikamu pamasisitimu ane Apple Silicon processor, uye tsigiro yekuunganidza mafaera anogona kuuraya aya machipisi.
  • Murairo we "dart pub" wakawedzera tsigiro yefaira rebasa idzva ".pubignore", iro rinokutendera kuti utsanangure runyoro rwemafaira acharukwa pakudhindisa pasuru kune pub.dev repository. Aya marongero haapindire ne ".gitignore" yekufuratira runyorwa (mune mamwe mamiriro, pub.dev ingangoda kudzivirira kutamisa mafaera anodiwa muGit, semuenzaniso, zvinyorwa zvemukati zvinoshandiswa panguva yekuvandudza).
  • Basa rakaitwa kuti rivandudze kushanda kwe "dart test" murairo, izvo zvino zvisingadi kudzorera bvunzo mushure mekushandura pubspec kana nhamba yevhezheni isina kuchinja.
  • Tsigiro yekubatanidza muECMAScript 5 yekuenderana modhi yakamiswa (shanduko yacho ichaguma nekurasikirwa kwekuenderana neIE11 browser).
  • Zvishandiso zvega zvega zvestagehand, dartfmt uye dart2native zvakanzi hazvichashandi, zvakatsiviwa nemirairo yakavakirwa-mukati inodaidzwa kuburikidza neiyo dart utility.
  • Iyo VM Native Extensions mechanism yarambwa. Kufonera kodhi yeko kubva kuDart kodhi, zvinokurudzirwa kushandisa iyo itsva Dart FFI (Foreign Function Interface).

Panguva imwecheteyo, kuburitswa kwakakosha kweiyo mushandisi interface Flutter 2.5 yakaunzwa, iyo inoonekwa seimwe nzira yeReact Native uye inobvumira, zvichibva pane imwe kodhi base, kuburitsa zvikumbiro zve iOS, Android, Windows, macOS uye Linux. mapuratifomu, pamwe nekugadzira maapplication ekumhanya mumabrowser. Iyo yakasarudzika shell yeFuchsia microkernel inoshanda sisitimu yakagadziriswa neGoogle inovakwa pahwaro hweFlutter.

Chikamu chikuru cheFlutter kodhi chinoitwa mumutauro weDart, uye injini yekumhanyisa yekushandisa yakanyorwa muC ++. Paunenge uchigadzira maapplication, kuwedzera kuFlutter's native Dart mutauro, unogona kushandisa iyo Dart Yekunze Basa rekushanda kufonera C/C++ kodhi. Kuita kwepamusoro kunowanikwa nekunyora zvikumbiro kune kodhi yekodhi yemapuratifomu anotangwa. Muchiitiko ichi, chirongwa hachidi kudzokororwa mushure mekuchinja kwega kwega - Dart inopa inopisa reload modhi iyo inokutendera iwe kuti uchinje kune inomhanya application uye nekukasira ongorora mhedzisiro.

Shanduko huru muFlutter 2.5:

  • Yakaita zvakakosha performance optimizations. Pane iyo iOS uye macOS mapuratifomu, precompilation ye shaders yeMetal graphics API yakaitwa. Kuvandudzwa kwekuita kwekugadzirisa zviitiko zveasynchronous. Yakagadzirisa nyaya nekunonoka apo muunganidzi wemarara anotora ndangariro kubva kumifananidzo isati yashandiswa (somuenzaniso, panguva yekutamba kwe20-second animated GIF, huwandu hwemabasa ekunhonga marara hwakaderedzwa kubva pa400 kuenda ku4. Kunonoka pakupfuura mameseji pakati peDart neObjective- C/Swift yakaderedzwa kusvika pa50% (iOS) kana Java/Kotlin (Android) Yakawedzerwa yerudzi rwekuvaka rutsigiro rwemasisitimu akavakirwa paApple Silicon chip.
    Dart 2.14 mutauro uye Flutter 2.5 chimiro chiripo
  • Kune iyo Android chikuva, tsigiro yekumhanyisa maapplication mune yakazara skrini modhi yakamiswa. Kuitwa kwe "Material You" dhizaini pfungwa, yakaratidzwa sechizvarwa chinotevera Material Design sarudzo, yakaenderera. Yakawedzera nyika itsva MaterialState.scrolledUnder, yakashandisa kuratidzwa kwemavara emupumburu paunenge uchichinja saizi, uye yakurudzira chimiro chitsva chekuratidzira zviziviso.
  • Iko kugona kwekamera plug-in kwakawedzera zvakanyanya, kuwedzera maturusi ekudzora autofocus, kuratidzwa, flash, zoom, kuderedza ruzha uye kugadzirisa.
  • Zvishandiso zveDeveloper (DevTools) zvakagadziridzwa kuti zvisanganise yakagadziridzwa widget yekuongorora modhi, pamwe nemidziyo yekuzivisa kunonoka kwekupa uye yekutevera shader kuunganidzwa.
    Dart 2.14 mutauro uye Flutter 2.5 chimiro chiripo
  • Yakavandudzwa plugins yeVisual Studio Code uye IntelliJ/Android Studio.

Source: opennet.ru

Voeg