Loaʻa ka ʻōlelo Dart 2.14 a me Flutter 2.5

Ua hoʻopuka ʻo Google i ka hoʻokuʻu ʻana o ka ʻōlelo papahana Dart 2.14, e hoʻomau nei i ka hoʻomohala ʻana i kahi lālā Dart 2 i hoʻolālā hou ʻia, ʻokoʻa ia mai ka mana mua o ka ʻōlelo Dart i ka hoʻohana ʻana i ka paʻi static ikaika (hiki ke hoʻohālikelike ʻia nā ʻano, no laila e wehewehe ana. ʻAʻole pono nā ʻano, akā ʻaʻole i hoʻohana hou ʻia ka paʻi paʻi ʻana a ua hāʻawi ʻia ke ʻano kumu i ka loli a hoʻohana ʻia ka nānā ʻana i ke ʻano koʻikoʻi).

Nā hiʻohiʻona o ka ʻōlelo Dart:

  • ʻO ka syntax kamaʻāina a maʻalahi hoʻi e aʻo, kūlohelohe no nā polokalamu JavaScript, C a me Java.
  • E hōʻoia i ka hoʻomaka wikiwiki a me ka hana kiʻekiʻe no nā polokalamu kele pūnaewele hou a me nā ʻano kaiapuni like ʻole, mai nā polokalamu kelepona a i nā kikowaena ikaika.
  • ʻO ka hiki ke wehewehe i nā papa a me nā pilina e ʻae i ka encapsulation a me ka hoʻohana hou ʻana i nā ʻano hana a me nā ʻikepili.
  • ʻO ka wehewehe ʻana i nā ʻano he mea maʻalahi ka debug a ʻike i nā hewa, hoʻomaʻamaʻa i ke code a maʻalahi hoʻi i ka heluhelu ʻana, a maʻalahi i kāna hoʻololi a me ka nānā ʻana e nā mea hoʻomohala ʻaoʻao ʻekolu.
  • ʻO nā ʻano i kākoʻo ʻia: nā ʻano like ʻole o ka hashes, arrays a me nā papa inoa, queues, numeric a string type, type no ka hoʻoholo ʻana i ka lā a me ka manawa, nā ʻōlelo maʻamau (RegExp). Hiki ke hana i kāu mau ʻano ponoʻī.
  • No ka hoʻonohonoho ʻana i ka hoʻokō parallel, ua manaʻo ʻia e hoʻohana i nā papa me ka ʻano hoʻokaʻawale, ka code o ia mea i hoʻokō piha ʻia i kahi kaʻawale i kahi wahi hoʻomanaʻo ʻokoʻa, e launa pū me ke kaʻina hana nui ma ka hoʻouna ʻana i nā leka.
  • Kākoʻo no ka hoʻohana ʻana i nā hale waihona puke e hoʻomaʻamaʻa i ke kākoʻo a me ka debugging o nā papahana pūnaewele nui. Hiki ke hoʻokomo ʻia nā hoʻokō ʻekolu o nā hana ma ke ʻano o nā hale waihona puke. Hiki ke hoʻokaʻawale ʻia nā noi i nā ʻāpana a hāʻawi i ka hoʻomohala ʻana o kēlā me kēia ʻāpana i kahi hui o nā mea papahana.
  • He pūʻulu o nā mea hana i mākaukau e kākoʻo i ka hoʻomohala ʻana ma ka ʻōlelo Dart, me ka hoʻokō ʻana i ka hoʻomohala ikaika a me nā mea hana debugging me ka hoʻoponopono code ma ka lele ("edit-and-continue").
  • No ka hoʻomaʻamaʻa ʻana i ka hoʻomohala ʻana i ka ʻōlelo Dart, hele mai ia me kahi SDK, kahi pānaʻi hoʻokele pōʻai, kahi helu helu static analyzer dart_analyzer, kahi o nā hale waihona puke, kahi hoʻomohala hoʻohui ʻia ʻo DartPad a me Dart-enabled plugins no IntelliJ IDEA, WebStorm, Emacs, Sublime Text. 2 a me Vim.
  • Hoʻokaʻawale ʻia nā pūʻolo hou me nā hale waihona puke a me nā pono hana ma o ka waihona hale kūʻai, aia ma mua o 20 tausani mau pūʻulu.

ʻO nā hoʻololi nui ma Dart 2.14 hoʻokuʻu:

  • Ua hoʻohui ʻia kahi mea hoʻokele triple shift (>>>) hou, ʻaʻole like me ka ">>" operator, ʻaʻole i hana i ka helu helu, akā he hoʻololi loiloi e hana me ka ʻole o ka nānā ʻana i ka bit sign (hana ʻia ka hoʻololi me ka ʻole o ka māhele ʻana i loko. helu maikaʻi a maikaʻi ʻole).
  • Wehe ʻia ke kaohi ʻana i nā ʻano hoʻopaʻapaʻa ʻaʻole i hoʻohana ʻia nā ʻano hana maʻamau ma ke ʻano he ʻano hoʻopaʻapaʻa. No ka laʻana, i kēia manawa hiki iā ʻoe ke kuhikuhi: late List (T)>idFunctions; var callback = [ (waiwai T) => waiwai]; hana S hope (T)>(S) f;
  • E ʻae i ka wehewehe ʻana i nā manaʻo hoʻopaʻapaʻa me nā ʻano i loko o nā wehewehe e like me @Deprecated. No ka laʻana, hiki iā ʻoe ke kuhikuhi: @TypeHelper (42, "Ka manaʻo")
  • Ua hoʻohui ʻia nā ʻano static hash, hashAll a me hashAllUnordered i ka waihona maʻamau (core) i ka papa Object. Ua hoʻomaikaʻi ka papa DateTime i ka lawelawe ʻana i ka manawa kūloko ke hoʻololi ʻana i nā wati ma waena o ke kauwela a me ka manawa hoʻoilo ʻaʻole hiki ke puʻunaue ʻia e hoʻokahi hola (no ka laʻana, hoʻohana ʻia ka offset o 30 mau minuke ma Australia). Ua hoʻohui ka pūʻolo ffi i ke kākoʻo no ka hana hoʻokaʻawale hoʻomanaʻo arena, kahi e hoʻokuʻu ai i nā kumuwaiwai. Ua hoʻohui ka pūʻolo ffigen i ka hiki ke hana i nā wehewehe typedef o nā ʻano Dart mai ka ʻōlelo C.
  • Ua hoʻololi ʻia nā pūʻolo kaulana 250 mai ka waihona pub.dev a me 94% o ka top-1000 i ka hoʻohana ʻana i ke ʻano "palekana null", e pale aku i nā pōʻino i hoʻāʻo ʻia e hoʻohana i nā mea hoʻololi ʻaʻole i wehewehe ʻia ka waiwai a hoʻonohonoho ʻia i "Null. " " Hōʻike ke ʻano ʻaʻole hiki i nā mea hoʻololi ke loaʻa nā waiwai null ke ʻole i hāʻawi ʻia i ka waiwai null. Hoʻopili koʻikoʻi ke ʻano i nā ʻano like ʻole, kahi e hiki ai i ka mea hoʻopili ke hoʻopili i nā optimizations hou. ʻIke ʻia ka hoʻokō ʻano i ka manawa hoʻonohonoho, no ka laʻana, inā e hoʻāʻo ʻoe e hāʻawi i ka waiwai "Null" i kahi ʻano me kahi ʻano ʻaʻole i hōʻike i ke kūlana i wehewehe ʻole ʻia, e like me "int", e hōʻike ʻia kahi hewa.
  • Hāʻawi ʻia nā pūʻulu lokahi o nā lula no ka loiloi code (linter), e hāʻawi ana i ke kākoʻo like no ka nānā ʻana i ka hoʻokō ʻana i nā alakaʻi kaila code no Dart a me ka Flutter framework. No nā kumu mōʻaukala, ʻokoʻa nā lula coding no Flutter a me Dart, ʻo ia hoʻi, no Dart aia ʻelua mau lula i hoʻohana ʻia - nā pedantic mai Google a me nā lula mai ke kaiāulu Dart developer. Hoʻokomo ʻo Dart 2.14 i kahi hoʻonohonoho maʻamau o nā lula no ka linter, i hoʻoholo ʻia e hoʻohana ʻia e ka paʻamau i nā papahana Dart hou a me ka Flutter SDK. Aia ka pūʻulu i nā lula koʻikoʻi (lints/core.yaml package), nā lula hou i manaʻo ʻia (lints/recommended.yaml), a me nā ʻōlelo paipai kikoʻī Flutter (flutter_lints/flutter.yaml). Manaʻo ʻia nā mea hoʻohana i nā lula pedantic e hoʻololi i ka hoʻohana ʻana i kahi ʻano coding hou e pili ana i nā ʻōlelo aʻoaʻo mai ka palapala Dart.
  • I loko o ka formatter, ua hana ʻia nā manaʻo maikaʻi i ka hoʻopili ʻana i nā poloka code cascading, hiki ke hoʻomaikaʻi nui i ka hana hoʻopono ʻana a pale i ka wehewehe ʻana i ka mana o nā mea hōʻike. No ka laʻana, ke kāhea ʻana "..doIt" i ka huaʻōlelo "var result = errorState ? foo : bad..doIt()" ʻaʻole pili i ka ʻāpana kūlana o ka poloka "ʻino", akā ʻo ka ʻōlelo holoʻokoʻa, no laila ke hoʻokaʻawale ʻia i ka hoʻopili ʻana: var result = errorState ? foo : ino ..doIt();
  • Ua hoʻohui ʻia ke kākoʻo no nā kaʻina hana Apple M1 (Silicon) i ka SDK, e hōʻike ana i ka hiki ke holo i ka Dart VM, nā mea pono a me nā ʻāpana SDK ma nā ʻōnaehana me kahi kaʻina Apple Silicon, a me ke kākoʻo no ka hōʻuluʻulu ʻana i nā faila hoʻokō no kēia mau chips.
  • Ua hoʻohui ke kauoha "dart pub" i ke kākoʻo no kahi faila lawelawe hou ".pubignore", e hiki ai iā ʻoe ke wehewehe i kahi papa inoa o nā faila e lele ʻia i ka wā e paʻi ana i kahi pūʻolo i ka waihona pub.dev. ʻAʻole hoʻopilikia kēia mau hoʻonohonoho i ka papa inoa ".gitignore" (i kekahi mau kūlana, makemake paha ʻo pub.dev e pale i ka hoʻoili ʻana i nā faila i makemake ʻia ma Git, no ka laʻana, nā palapala kūloko i hoʻohana ʻia i ka wā o ka hoʻomohala ʻana).
  • Ua hana ʻia ka hana e hoʻomaikaʻi i ka hana o ke kauoha "dart test", ʻaʻole pono i kēia manawa e hoʻohui hou i nā hoʻokolohua ma hope o ka hoʻololi ʻana i ka pubspec inā ʻaʻole i loli ka helu mana.
  • Ua hoʻopau ʻia ke kākoʻo no ka hoʻohui ʻana i ke ʻano hoʻohālikelike ECMAScript 5 (e hopena ka hoʻololi i ka nalowale o ka launa pū me ka polokalamu IE11).
  • Ua hōʻike ʻia nā mea pono ponoʻī stagehand, dartfmt a me dart2native, ua pani ʻia e nā kauoha i kūkulu ʻia i kapa ʻia ma o ka dart utility.
  • Ua hoʻopau ʻia ka mīkini VM Native Extensions. No ke kāhea ʻana i ke code ʻōiwi mai ka code Dart, pono e hoʻohana i ka Dart FFI hou (Foreign Function Interface).

I ka manawa like, ua hōʻike ʻia kahi hoʻokuʻu koʻikoʻi o ka mea hoʻohana ʻo Flutter 2.5, i manaʻo ʻia he ʻano ʻē aʻe i React Native a hiki, e pili ana i hoʻokahi kumu code, e hoʻokuʻu i nā noi no ka iOS, Android, Windows, macOS a me Linux. nā paepae, a me ka hana ʻana i nā noi e holo i nā polokalamu kele pūnaewele. Kūkulu ʻia kahi pūpū maʻamau no ka ʻōnaehana microkernel Fuchsia i hoʻomohala ʻia e Google ma ke kumu o Flutter.

Hoʻokomo ʻia ka ʻāpana nui o ka code Flutter ma ka ʻōlelo Dart, a ua kākau ʻia ka mīkini runtime no ka hoʻokō ʻana i nā noi ma C ++. I ka hoʻomohala ʻana i nā noi, ma waho aʻe o ka ʻōlelo Dart maoli a Flutter, hiki iā ʻoe ke hoʻohana i ka Dart Foreign Function interface e kāhea i ka code C/C++. Loaʻa ka hana hoʻokō kiʻekiʻe ma o ka hōʻuluʻulu ʻana i nā noi i ka code maoli no nā paepae i ʻimi ʻia. I kēia hihia, ʻaʻole pono e hoʻopili hou ʻia ka papahana ma hope o kēlā me kēia hoʻololi - Hāʻawi ʻo Dart i kahi mode reload wela e hiki ai iā ʻoe ke hoʻololi i kahi noi holo a loiloi koke i ka hopena.

Nā hoʻololi nui ma Flutter 2.5:

  • Hana ʻia nā hoʻokō koʻikoʻi. Ma nā pūnaewele iOS a me macOS, ua hoʻokō ʻia ka precompilation o shaders no ka Metal graphics API. Hoʻomaikaʻi maikaʻi i ka hana ʻana i nā hanana asynchronous. Hoʻoholo i kahi pilikia me ka lohi i ka wā e kiʻi hou ai ka ʻohi ʻōpala i ka hoʻomanaʻo mai nā kiʻi i hoʻohana ʻole ʻia (no ka laʻana, i ka wā o ka pāʻani ʻana o kahi GIF animated 20-kekona, ua hoʻemi ʻia ka nui o nā hana ohi ʻōpala mai 400 a i 4. Hoʻopaneʻe i ka wā e hala ana nā memo ma waena o Dart a me Objective- Ua hōʻemi ʻia ʻo C/Swift i 50% (iOS) a i ʻole Java/Kotlin (Android) Hoʻohui ʻia ke kākoʻo kūkulu ʻōiwi no nā ʻōnaehana e pili ana i ka chip Apple Silicon.
    Loaʻa ka ʻōlelo Dart 2.14 a me Flutter 2.5
  • No ke kahua Android, ua hoʻokumu ʻia ke kākoʻo no ka holo ʻana i nā noi ma ke ʻano pale piha. Hoʻomau ka hoʻokō ʻana i ka manaʻo hoʻolālā "Material You", i hōʻike ʻia ma ke ʻano he koho Material Design no ka hanauna e hiki mai ana. Hoʻohui ʻia kahi mokuʻāina hou MaterialState.scrolledUnder, i hoʻokō i ka hōʻike ikaika o nā ʻōwili pahu i ka wā e hoʻololi ai i ka nui, a ua noi i kahi interface hou no ka hōʻike ʻana i nā hae hoʻolaha.
  • Ua hoʻonui nui ʻia nā mana o ke kāmela plug-in, hoʻohui i nā mea hana no ka hoʻomalu ʻana i ka autofocus, exposure, flash, zoom, noise reduction and resolution.
  • Ua hoʻomaikaʻi ʻia nā mea hana hoʻomohala (DevTools) e hoʻokomo i kahi mode inspection widget hou, a me nā mea hana no ka ʻike ʻana i nā lohi o ka hoʻolilo ʻana a me ka hoʻopili ʻana i ka shader compilation.
    Loaʻa ka ʻōlelo Dart 2.14 a me Flutter 2.5
  • Hoʻomaikaʻi ʻia nā plugins no Visual Studio Code a me IntelliJ/Android Studio.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka