Kei te waatea te reo Dart 2.14 me te angamahi Flutter 2.5

Kua whakaputahia e Google te tukunga o te reo hootaka Dart 2.14, e haere tonu ana te whakawhanaketanga o te peka kua oti te hanga hou o Dart 2, he rereke mai i te putanga taketake o te reo Dart ma te whakamahi i te patopato pateko kaha (ka taea te whakatau aunoa i nga momo, na reira. kare e tika te tautuhi momo, engari karekau e whakamahia te patopato hihiri, ka whakatauhia i te tuatahi ka tautapahia te momo ki te taurangi, katahi ka whakamahia te arowhai momo kaha).

Nga ahuatanga o te reo Dart:

  • He wetereo taunga me te ngawari ki te ako, he mea maori mo JavaScript, C me Java hötaka.
  • Te whakarite i te tere tere me te mahi teitei mo nga kaitirotiro paetukutuku hou katoa me nga momo taiao, mai i nga taputapu kawe ki nga kaitoro kaha.
  • Te kaha ki te tautuhi i nga karaehe me nga atanga ka taea te whakauru me te whakamahi ano i nga tikanga me nga raraunga o mua.
  • Ko te tautuhi momo ka ngawari ake te patuiro me te tautuhi i nga hapa, ka marama ake te waehere me te panui ake, me te whakangawari i te whakarereketanga me te tātaritanga a nga kaihanga tuatoru.
  • Ko nga momo e tautokohia ana ko: nga momo momo hashes, nga rarangi me nga rarangi, nga rarangi, nga momo tau me nga momo aho, nga momo mo te whakatau i te ra me te wa, nga whakaaturanga auau (RegExp). Ka taea te hanga i a koe ake momo.
  • Hei whakarite i nga mahi whakarara, e whakaarohia ana kia whakamahia nga karaehe me te huanga motuhake, ko te waehere ka mahia katoatia i roto i te waahi motuhake i roto i te waahi mahara motuhake, te taunekeneke me te kaupapa matua ma te tuku karere.
  • Tautoko mo te whakamahinga o nga whare pukapuka e ngawari ana te tautoko me te patuiro i nga kaupapa tukutuku nui. Ka taea te whakauru i nga mahi a te hunga tuatoru ki te ahua o nga whare pukapuka tiritahi. Ka taea te wehewehe i nga tono ki etahi waahanga ka tuku i te whanaketanga o ia waahanga ki tetahi roopu kaiwhakatakoto kaupapa motuhake.
  • He huinga taputapu kua rite hei tautoko i te whanaketanga o te reo Dart, tae atu ki te whakatinanatanga o te whanaketanga hihiri me nga taputapu patuiro me te whakatika waehere i runga i te rere (“whakatika-a-haere tonu”).
  • Hei whakangwari ake i te whakawhanaketanga i te reo Dart, ka tae mai me te SDK, he paparapara kaiwhakahaere mokihi, he kaitirotiro waehere pateko dart_analyzer, he huinga whare pukapuka, he taiao whanaketanga whakauru DartPad me Dart-whakahohea mono mo IntelliJ IDEA, WebStorm, Emacs, Kuputuhi Sublime 2 me Vim.
  • Ko etahi atu kohinga me nga whare pukapuka me nga taputapu ka tohatohahia i roto i te whare putunga pub, neke atu i te 20 mano nga kohinga.

Nga huringa nui ki te tuku Dart 2.14:

  • Kua taapirihia he kaiwhakahaere neke toru (>>>) hou, kaore i rite ki te ">>" kaiwhakahaere, ehara i te mahi tatau, engari he nekehanga arorau e mahi ana me te kore e whai whakaaro ki te moka tohu (ka mahia te nekehanga me te kore e wehewehe ki roto. tau pai me te tau kino).
  • I tangohia te here mo nga momo tohenga i aukati i nga momo taumahi kawa kia whakamahia hei tohenga momo. Hei tauira, inaianei ka taea e koe te tohu: Rarangi mutunga (T)>idFunctions; var hokiwaea = [ (Uara T) => uara]; Mahi S mutunga (T)>(S) f;
  • Whakaaetia te tauwhāiti i nga tohenga me nga momo korero penei i te @Deprecated. Hei tauira, ka taea e koe te tohu: @TypeHelper (42, "Te tikanga")
  • Ko nga tikanga static hash, hashAll me hashAllUnordered kua taapirihia ki te whare pukapuka paerewa (matua) i roto i te akomanga Ahanoa. Kua pai ake te karaehe DateTime te whakahaere i nga wa o te rohe i te wa e huri ana i nga karaka i waenga i te raumati me te wa takurua e kore e wehea e te haora kotahi (hei tauira, i Ahitereiria ka whakamahia te 30 meneti hei utu). Kua tāpirihia e te mōkihi ffi te tautoko mo te tikanga tohatoha mahara o te ao, e tuku aunoa ana i nga rauemi. Kua tāpirihia e te mōkihi ffigen te kaha ki te whakaputa i ngā whakamāramatanga momo momo Dart mai i te reo C.
  • Ko nga kohinga 250 tino rongonui mai i te putunga putunga pub.dev me te 94% o runga-1000 kua hurihia ki te whakamahi i te aratau "haumaru null", ka karo i nga tukinga na te ngana ki te whakamahi i nga taurangi kaore i te tautuhia te uara me te tautuhi ki te "Null ”" Ko te tikanga e kii ana kaore e taea e nga taurangi te whai uara kore ki te kore e tautapahia te uara null. Ko te aratau e tino whakaute ana i nga momo rerekee, ka taea e te kaitoi te tono atu nga arotautanga. Ka tirohia te hanganga ture i te wa whakahiato, hei tauira, ki te ngana koe ki te tautapa i te uara "Null" ki tetahi taurangi me te momo kaore e kii ana i te ahua kore, penei i te "int", ka puta he hapa.
  • Ko nga huinga ture whakakotahi mo te kaitirotiro waehere (linter) ka tukuna, ka tautoko i te wa kotahi mo te arowhai i te hanganga ture ki nga aratohu momo waehere mo Dart me te anga Flutter. Mo nga take o mua, he rereke nga ture whakawaehere mo Flutter me Dart, i tua atu, mo Dart e rua nga huinga ture e whakamahia ana - he pedantic na Google me nga ture mai i te hapori kaiwhakawhanake Dart. Ko te Dart 2.14 he whakauru i tetahi huinga ture hou mo te linter, ka whakatauhia kia whakamahia taunoa ki nga kaupapa Dart hou me te Flutter SDK. Kei roto i te huinga nga ture matua (lints/core.yaml package), etahi atu ture e taunakitia ana (lints/recommended.yaml), me nga taunakitanga motuhake a Flutter (flutter_lints/flutter.yaml). Ka tohutohuhia nga kaiwhakamahi o nga ture pedantic ki te huri ki te whakamahi i tetahi momo tohu hou i runga i nga taunakitanga mai i te tuhinga Dart.
  • I roto i te whakahōputu, kua arotauhia te whakahōpututanga o nga poraka waehere riipene, ka tino pai ake te mahi whakahōputu me te karo i te whakamaoritanga rangirua o te mana o nga huānga korero. Hei tauira, te karanga "..doIt" i roto i te kupu "var result = errorState ? foo : bad..doIt()" kaore e pa ana ki te waahanga herenga o te poraka "kino", engari ko te korero katoa, na i te whakahōputu ka wehea inaianei: var result = errorState ? foo : kino ..doIt();
  • Ko te tautoko mo nga tukatuka Apple M1 (Silicon) kua taapirihia ki te SDK, e kii ana i te kaha ki te whakahaere i te Dart VM, nga taputapu me nga waahanga SDK i runga i nga punaha me te tukatuka Apple Silicon, me te tautoko mo te whakahiato i nga konae ka taea te whakahaere mo enei maramara.
  • Ko te whakahau "dart pub" kua taapirihia he tautoko mo te konae ratonga hou ".pubignore", ka taea e koe te tautuhi i te rarangi o nga konae ka pekehia ina whakaputahia he kete ki te putunga putunga pub.dev. Ko enei tautuhinga e kore e pokanoa ki te rarangi arowhai ".gitignore" (i etahi ahuatanga, ka hiahia pea a pub.dev ki te karo i te whakawhiti i nga konae e hiahiatia ana i Git, hei tauira, nga tuhinga a-roto i whakamahia i te wa o te whanaketanga).
  • Kua mahia nga mahi ki te whakapai ake i te mahi o te whakahau "dart test", e kore nei e hiahia ki te whakahiato i nga whakamatautau i muri i te whakarereketanga o te pubspec mena kaore i rereke te tau putanga.
  • Ko te tautoko mo te whakahiato i roto i te aratau hototahi ECMAScript 5 kua whakamutua (ka puta te huringa ki te ngaro o te hototahi ki te tirotiro IE11).
  • Ko nga taputapu takitahi stagehand, dartfmt me dart2native kua kiia kua tawhitotia, kua whakakapihia e nga whakahau i hangaia e kiia ana ma te taputapu pere.
  • Kua whakakorehia te tikanga VM Native Extensions. Ki te waea i te waehere taketake mai i te Dart code, e taunaki ana kia whakamahia te Dart FFI hou (Atanga Mahi Tawahi).

I te wa ano, i tukuna he putanga nui o te anga atanga kaiwhakamahi Flutter 2.5, e kiia ana he rereke ki te React Native me te tuku, i runga i te turanga waehere kotahi, ki te tuku tono mo te iOS, Android, Windows, macOS me Linux. tüäpapa, me te hanga tono kia rere i roto i nga kaitirotiro. He anga ritenga mo te punaha whakahaere microkernel Fuchsia i hangaia e Google i hangaia i runga i te kaupapa o Flutter.

Ko te waahanga matua o te Waehere Flutter ka whakatinanahia i roto i te reo Dart, a ko te miihini whakahaere mo te whakahaere tono ka tuhia ki te C++. I te wa e whakawhanake ana i nga tono, i tua atu i te reo Dart taketake o Flutter, ka taea e koe te whakamahi i te atanga Dart Foreign Function ki te waea waehere C/C++. Ka tutuki te mahinga mahi nui ma te whakahiato tono ki te waehere taketake mo nga papaa whaaia. I tenei keehi, kaore e hiahiatia kia whakahiatohia te kaupapa i muri i ia huringa - Ka whakaratohia e Dart tetahi aratau whakahou wera e taea ai e koe te whakarereke i tetahi tono rere me te arotake tonu i te hua.

Nga huringa nui i roto i te Flutter 2.5:

  • I mahi tino arotautanga mahi. I runga i nga papaaho iOS me te macOS, kua whakatinanahia te whakahiatotanga o nga kaimarumaru mo te API whakairoiro Metal. Te pai ake o te tukatuka i nga kaupapa tukutahi. I whakatauhia he take mo te whakaroa i te wa e maumahara ana te kaikohi paru mai i nga whakaahua kaore i whakamahia (hei tauira, i te purei o te GIF pakiwaituhi 20-hekona, i whakaitihia te maha o nga mahi kohinga paru mai i te 400 ki te 4. Ka whakaroa i te tuku karere i waenga i te Dart me te Whainga- I whakahekehia a C/Swift ki te 50% (iOS) Java/Kotlin (Android) Kua taapirihia te tautoko hanga taketake mo nga punaha i runga i te maramara Apple Silicon.
    Kei te waatea te reo Dart 2.14 me te angamahi Flutter 2.5
  • Mo te papaaho Android, kua whakapumautia te tautoko mo te whakahaere tono i roto i te aratau mata katoa. I haere tonu te whakatinanatanga o te kaupapa hoahoa "Material You", i whakaatuhia hei whiringa Hoahoa Rawa o muri mai. I taapirihia he ahua hou MaterialState.scrolledUnder, i whakatinanahia te whakaaturanga hihiri o nga panuku panuku i te whakarereketanga o te rahi, me te whakaaro he atanga hou mo te whakaatu i nga haki panui.
  • Ko nga kaha o te mono-kamera kua tino whakawhänuihia, me te taapiri i nga taputapu mo te whakahaere i te arotahi aunoa, te whakaatu, te uira, te topa, te whakaheke haruru me te whakatau.
  • Ko nga taputapu kaiwhakawhanake (DevTools) kua whakapai ake ki te whakauru i te aratau tirotiro widget kua whakahoutia, me nga taputapu mo te tautuhi i nga wa roa o te tuku me te whai i te whakahiato atarangi.
    Kei te waatea te reo Dart 2.14 me te angamahi Flutter 2.5
  • Kua pai ake nga taputapu mo te Visual Studio Code me IntelliJ/Android Studio.

Source: opennet.ru

Tāpiri i te kōrero