Buvo išleistas „Dart 2.12“ su „null-safety“ ir „C“ suderinamumu

„Google“ išleido „Dart 2.12“ – naują kalbos, naudojamos kuriant „Flutter“ programas, versiją. Išleistas kartu su „Flutter 2.0“.

Su „Flutter 2.0“ išleidimas, „Google“ taip pat stabilizuoja „Dart 2.12“. Jei nežinojote, „Flutter“ vartoja „Dart“. Tai yra „TypeScript“ pagrindu sukurta kalba, tačiau joje yra keletas kalbos funkcijų papildymų, įskaitant tuos, kuriuos ketinau peržiūrėti.

Nulinė sauga

Nulinė sauga yra gana puiki kalbos funkcija. Tai verčia jus apsvarstyti, ar kintamasis kada nors bus nulinis, ir aiškiai spręsti galimas nulines situacijas, kartu leidžiant garantuoti, kad konkretūs kintamieji niekada nebus nuliniai.

„Dart 2.12“ dabar visiškai palaiko „null-safety“, kurios sintaksė panaši į „Swift“ ir „Kotlin“. Yra net išmanusis atidavimas, kai Dartas tikrai žino, kad įprastai nulinis kintamasis negali būti nulis, jis netiesiogiai perkels jį į nenulinę formą.

Kadangi nulinė sauga yra (labai) lūžtantis pakeitimas, ši funkcija yra pasirenkama. Jei atnaujinsite į Dart 2.12, jūsų kompiliacija nenutrūks ir jums nereikės praleisti valandų viskam pridedant užuominų apie negaliojimą. Jūs netgi galite naudoti visiškai saugias priklausomybes, jei jūsų projektas dar nėra visiškai saugus.

Kai nuspręsite perkelti, galite naudoti integruotą perkėlimo įrankį (smiginis migruoti) ir (arba) migracijos vadovas kad viskas būtų nustatyta.

Be to, nors nulinė sauga yra įtraukta į „Dart 2.12“, jei sukursite naują „Flutter“ projektą, nulinė sauga nebus įjungta iš karto. Turėsite jį įjungti rankiniu būdu. Naujuose Dart projektuose bus įjungta nulinė sauga.

Užsienio funkcijų sąsaja

Nors „Dart“ (ir „Flutter“) daugiausia dėmesio skiria visiškam kelių platformų suderinamumui, vis tiek yra kai kurių dalykų, kuriuos tiesiog reikia atlikti savaime. Kad būtų lengviau atlikti vietines operacijas, „Dart“ turi užsienio funkcijų sąsają arba FFI. FFI leidžia sąveikauti su C kodu iš „Dart“, nenaudojant keistų eilutėmis pagrįstų API iškvietimų ar kitų sudėtingų sąveikos metodų.

Su Dart 2.12 FFI dabar yra stabilus, tai reiškia, kad jis yra paruoštas naudoti gamybiniuose projektuose ir dažniausiai turi visas funkcijas.

Turint tai omenyje, FFI yra keletas pakeitimų, įskaitant keletą lūžtančių.

Daugiausia dėmesio šiame leidime buvo skirta tam, kaip struktūras galima naudoti su Dart ir C. Pirma, dabar galite perduoti struktūras savo C kode pagal nuorodą ir reikšmę, kur anksčiau buvo palaikomos tik nuorodos. Kita svarbi funkcija yra įdėtųjų struktūrų palaikymas, kurio nebuvo iki šio leidimo.

Dabar apie esminius pokyčius. Jei naudojote FFI, gali tekti atnaujinti kodą, kad jis veiktų su 2.12. Naudodami šią FFI versiją nebegalite kurti tuščių struktūrų. Jei dėl kokių nors priežasčių jums jo reikia, galite naudoti naują „Nepermatomas“ tipą. Taip pat yra keletas pakeitimų, kaip veikia kai kurios FFI integruotos funkcijos, kurias galite padaryti apie tai skaitykite čia.

Galiausiai, yra naujas FFI paketas, leidžiantis generuoti FFI įvynioklius iš esamų C antraštės failų, vadinamų ffigen. Jei turite daug C kodo, kurį turite naudoti, su daugybe API metodų, tai bus labai naudinga. Net jei jūsų turimo C kodo kiekis yra mažas, tai yra puiki patogumo funkcija.


Ir tai beveik viskas „Dart 2.12“. Pridėjus nulinę apsaugą ir stabilią C sąveikumo biblioteką, „Dart“ virsta labai daug funkcijų turinčia kalba. Komentaruose praneškite mums, ką manote apie Dart 2.12!