Chilankhulo cha Dart 2.14 ndi Flutter 2.5 chimango chilipo

Google yasindikiza kutulutsidwa kwa chinenero cha pulogalamu ya Dart 2.14, chomwe chikupitiriza kupanga nthambi yokonzedwanso kwambiri ya Dart 2, yomwe imasiyana ndi chinenero choyambirira cha chinenero cha Dart pogwiritsa ntchito zilembo zolimba (mitundu imatha kuzindikirika, choncho Kutchula mitundu sikofunikira, koma kusindikiza kwamphamvu sikugwiritsidwanso ntchito ndipo poyambira mtunduwo umaperekedwa kumitundu yosiyanasiyana ndipo kuwunika kwamtundu kumayikidwa pambuyo pake).

Mawonekedwe a chilankhulo cha Dart:

  • Syntax yodziwika bwino komanso yosavuta kuphunzira, yachilengedwe ya JavaScript, C ndi Java programmers.
  • Kuwonetsetsa kukhazikitsidwa kwachangu komanso magwiridwe antchito apamwamba kwa asakatuli onse amakono ndi mitundu yosiyanasiyana yamalo, kuyambira pazida zonyamulika mpaka ma seva amphamvu.
  • Kutha kufotokozera makalasi ndi zolumikizira zomwe zimalola kubisa ndikugwiritsanso ntchito njira zomwe zilipo kale.
  • Kutchula mitundu kumapangitsa kuti kukhale kosavuta kukonza zolakwika ndi kuzindikira zolakwika, kumapangitsa kuti code ikhale yomveka bwino komanso yowerengeka, komanso imathandizira kusinthidwa ndi kusanthula kwake ndi omwe akupanga gulu lachitatu.
  • Mitundu yothandizidwa imaphatikizapo: mitundu yosiyanasiyana ya ma hashi, mindandanda ndi mindandanda, mizere, manambala ndi mitundu ya zingwe, mitundu yodziwira tsiku ndi nthawi, mawu okhazikika (RegExp). Ndizotheka kupanga mitundu yanu.
  • Kukonzekera kuphana kofanana, akulangizidwa kuti agwiritse ntchito makalasi omwe ali ndi chikhalidwe chodzipatula, code yomwe imachitidwa kwathunthu pamalo akutali m'malo okumbukira, ndikulumikizana ndi njira yayikulu potumiza mauthenga.
  • Thandizo logwiritsa ntchito malaibulale omwe amathandizira kuthandizira ndikuwongolera ma projekiti akuluakulu a intaneti. Ntchito za gulu lachitatu zitha kuphatikizidwa ngati malaibulale omwe amagawana nawo. Mapulogalamu amatha kugawidwa m'magawo ndikuyika chitukuko cha gawo lililonse ku gulu laopanga mapulogalamu.
  • Zida zokonzekera zothandizira chitukuko cha chinenero cha Dart, kuphatikizapo kukhazikitsidwa kwa chitukuko champhamvu ndi zida zowonongeka ndi kuwongolera ma code pa ntchentche ("edit-and-continue").
  • Kuti muchepetse chitukuko cha chilankhulo cha Dart, imabwera ndi SDK, pub manager pub, static code analyzer dart_analyzer, seti ya malaibulale, malo osakanikirana a DartPad ndi mapulagini opangidwa ndi Dart a IntelliJ IDEA, WebStorm, Emacs, Sublime Text. 2 ndi vim.
  • Maphukusi owonjezera okhala ndi malaibulale ndi zothandizira amagawidwa m'malo osungiramo mabuku, omwe ali ndi mapaketi opitilira 20.

Zosintha zazikulu pakutulutsidwa kwa Dart 2.14:

  • Wogwiritsa ntchito katatu (>>>) wawonjezedwa, yemwe, mosiyana ndi ">>" wogwiritsa ntchito, samachita masamu, koma kusintha koyenera komwe kumagwira ntchito popanda kuganizira pang'ono chizindikiro (kusintha kukuchitika popanda kugawa nambala zabwino ndi zoipa).
  • Anachotsa zoletsa pa mikangano yamtundu zomwe zimalepheretsa mitundu ya magwiridwe antchito kuti isagwiritsidwe ntchito ngati mkangano wamtundu. Mwachitsanzo, tsopano mutha kufotokozera: List mochedwa (T)>idFunctions; kuyimbanso = [ (T mtengo) => mtengo]; mochedwa S Ntchito (T)>(S) f;
  • Lolani kufotokoza mwatsatanetsatane ndi mitundu muzomasulira monga @Deprecated. Mwachitsanzo, mutha kufotokoza: @TypeHelper (42, "Tanthauzo")
  • Njira zokhazikika za hashi, hashAll ndi hashAllUnordered zawonjezedwa ku laibulale yokhazikika (core) mu gulu la Object. Kalasi ya DateTime yasintha kasamalidwe ka nthawi yakumaloko posintha mawotchi pakati pa nthawi yachilimwe ndi yozizira omwe sagawika ndi ola limodzi (mwachitsanzo, ku Australia kugwiritsa ntchito mphindi 30). Phukusi la ffi lawonjezera chithandizo pamakina ogawa kukumbukira mabwalo, omwe amangotulutsa zothandizira. Phukusi la ffigen lawonjezera kuthekera kopanga matanthauzidwe a typedef amitundu ya Dart kuchokera muchilankhulo cha C.
  • Maphukusi odziwika kwambiri a 250 ochokera ku pub.dev repository ndi 94% ya pamwamba-1000 asinthidwa kuti agwiritse ntchito "null chitetezo" mode, zomwe zingapewe ngozi zomwe zimadza chifukwa cha kuyesa kugwiritsa ntchito mitundu yomwe mtengo wake sunadziwike ndikuyikidwa "Null". "" Mawonekedwewa akutanthauza kuti zosinthika sizingakhale zopanda pake pokhapokha zitaperekedwa momveka bwino za mtengowo. Njirayi imalemekeza kwambiri mitundu yosinthika, yomwe imalola wopanga kuti agwiritse ntchito zowonjezera. Kutsata kwamtundu kumawunikiridwa pa nthawi yophatikizira, mwachitsanzo, ngati muyesa kupatsa mtengo wa "Null" ku mtundu womwe sukutanthauza mtundu wosadziwika, monga "int", cholakwika chidzawonetsedwa.
  • Malamulo ogwirizana a code analyzer (linter) akuperekedwa, kupereka chithandizo panthawi imodzi kuti muwone kutsatiridwa ndi ndondomeko ya kalembedwe ka Dart ndi Flutter framework. Pazifukwa zakale, malamulo olembera Flutter ndi Dart anali osiyana, kuwonjezera apo, pa Dart panali malamulo awiri omwe amagwiritsidwa ntchito - oyenda pansi kuchokera ku Google ndi malamulo a gulu la omanga Dart. Dart 2.14 imabweretsa malamulo atsopano odziwika bwino a linter, omwe amaganiziridwa kuti agwiritsidwe ntchito mosasintha pama projekiti atsopano a Dart komanso mu Flutter SDK. Setiyi ili ndi malamulo oyambira (lints/core.yaml package), malamulo owonjezera owonjezera (lints/recommended.yaml), ndi malangizo okhudza Flutter (flutter_lints/flutter.yaml). Ogwiritsa ntchito malamulo oyenda amalangizidwa kuti asinthe kugwiritsa ntchito kalembedwe katsopano kotengera zomwe zalembedwa pa Dart.
  • Mu fomati, kukhathamiritsa kwapangidwa pakupanga mapangidwe a ma cascading code blocks, omwe amatha kusintha magwiridwe antchito ndikupewa kutanthauzira momveka bwino kwa umwini wazinthu zofotokozera. Mwachitsanzo, kuitana "..doIt" m'mawu akuti "var result = errorState? foo : bad..doIt()" sizikukhudzana ndi gawo lokhazikika la block "yoyipa", koma mawu onse, ndiye pakusanjikiza asiyanitsidwa: var result = errorState ? foo : zoipa ..doIt();
  • Thandizo la mapurosesa a Apple M1 (Silicon) awonjezedwa ku SDK, kutanthauza kuti onse amatha kuyendetsa Dart VM, zofunikira ndi zida za SDK pamakina okhala ndi purosesa ya Apple Silicon, komanso kuthandizira pakulemba mafayilo omwe angathe kuchitidwa atchipisi.
  • Lamulo la "dart pub" lawonjezera chithandizo cha fayilo yatsopano yautumiki ".pubignore", yomwe imakulolani kufotokozera mndandanda wa mafayilo omwe adzalumphidwe posindikiza phukusi ku pub.dev repository. Zokonda izi sizimasokoneza mndandanda wa kunyalanyaza ".gitignore" (nthawi zina, pub.dev ingafune kupewa kusamutsa mafayilo omwe amafunikira mu Git, mwachitsanzo, zolemba zamkati zomwe zimagwiritsidwa ntchito popanga).
  • Ntchito yachitidwa kuti apititse patsogolo ntchito ya lamulo la "dart test", lomwe tsopano silikufuna kubwezeranso mayesero mutasintha pubspec ngati nambala yamtunduwu siinasinthe.
  • Thandizo pakuphatikiza mumayendedwe a ECMAScript 5 adayimitsidwa (kusinthaku kumabweretsa kutayika kwa msakatuli wa IE11).
  • Zothandizira payekha za stagehand, dartfmt ndi dart2native zanenedwa kuti ndi zachikale, m'malo mwake ndi malamulo omangidwira omwe amatchedwa kudzera mu dart utility.
  • Njira ya VM Native Extensions yachotsedwa. Kuti muyimbire nambala yachibadwidwe kuchokera ku khodi ya Dart, tikulimbikitsidwa kugwiritsa ntchito Dart FFI yatsopano (Foreign Function Interface).

Nthawi yomweyo, kutulutsidwa kwakukulu kwa mawonekedwe a ogwiritsa ntchito Flutter 2.5 kunaperekedwa, komwe kumawonedwa ngati njira ina ya React Native ndikulola, kutengera code code imodzi, kumasula mapulogalamu a iOS, Android, Windows, macOS ndi Linux. nsanja, komanso kupanga mapulogalamu kuthamanga mu osatsegula. Chigoba chachizolowezi cha Fuchsia microkernel opareting'i sisitimu yopangidwa ndi Google imamangidwa pamaziko a Flutter.

Gawo lalikulu la nambala ya Flutter likugwiritsidwa ntchito m'chinenero cha Dart, ndipo injini yogwiritsira ntchito nthawi yogwiritsira ntchito imalembedwa mu C ++. Mukapanga mapulogalamu, kuphatikiza chilankhulo cha Flutter chamtundu wa Dart, mutha kugwiritsa ntchito mawonekedwe a Dart Foreign Function kuti muyimbire nambala ya C/C++. Kuchita kwapamwamba kumatheka polemba mapulogalamu ku code yachibadwidwe pamapulatifomu omwe mukufuna. Pachifukwa ichi, pulogalamuyo sifunikira kubwezeretsedwanso pambuyo pa kusintha kulikonse - Dart imapereka njira yowotchera yotentha yomwe imakupatsani mwayi wosintha pulogalamu yomwe ikuyenda ndikuwunika zotsatira zake.

Zosintha zazikulu mu Flutter 2.5:

  • Anapanga kukhathamiritsa kwakukulu kwa magwiridwe antchito. Pamapulatifomu a iOS ndi macOS, kukonzekereratu kwa shaders kwa Metal graphics API kwakhazikitsidwa. Kupititsa patsogolo luso la kukonza zochitika za asynchronous. Kuthetsa vuto ndi kuchedwa pamene wotolera zinyalala atenganso kukumbukira kuchokera ku zithunzi zomwe sizinagwiritsidwe ntchito (mwachitsanzo, panthawi yosewera gif yojambula ya masekondi 20, chiwerengero cha ntchito zotolera zinyalala chinachepetsedwa kuchoka pa 400 kufika pa 4. Kuchedwa potumiza mauthenga pakati pa Dart ndi Objective- C/Swift idachepetsedwa kukhala 50% (iOS) kapena Java/Kotlin (Android) Kuwonjezedwa kwachilengedwe kothandizira pamakina otengera Apple Silicon chip.
    Chilankhulo cha Dart 2.14 ndi Flutter 2.5 chimango chilipo
  • Kwa nsanja ya Android, chithandizo choyendetsera mapulogalamu muzithunzi zonse chakhazikitsidwa. Kukhazikitsidwa kwa lingaliro la kapangidwe ka "Material You", lomwe likuwonetsedwa ngati njira yotsatila ya Material Design, idapitilira. Adawonjeza dziko latsopano MaterialState.scrolledUnder, adakhazikitsa mawonedwe amphamvu a mipiringidzo posintha makulidwe ake, ndipo adakonza mawonekedwe atsopano owonetsera zidziwitso.
  • Kuthekera kwa plug-in ya kamera kwakulitsidwa kwambiri, ndikuwonjezera zida zowongolera autofocus, chiwonetsero, flash, zoom, kuchepetsa phokoso ndi kukonza.
  • Zida zamadivelopa (DevTools) zawongoleredwa kuti ziphatikizepo mawonekedwe osinthidwa a widget, komanso zida zodziwira kuchedwa kwapang'onopang'ono komanso kutsatira shader.
    Chilankhulo cha Dart 2.14 ndi Flutter 2.5 chimango chilipo
  • Mapulagini otsogola a Visual Studio Code ndi IntelliJ/Android Studio.

Source: opennet.ru

Kuwonjezera ndemanga