Välja on antud Dart 2.12 null-turvalisuse ja C koostalitlusvõimega

Google on välja andnud Dart 2.12, Flutteri rakenduste koostamiseks kasutatava keele uue versiooni. Väljalase tuleb koos versiooniga Flutter 2.0.

Koos Flutter 2.0 väljalase, Google viib ka Dart 2.12 stabiilseks. Kui te ei teadnud, siis Flutter kasutab Dart. See on TypeScriptil põhinev keel, kuid sellega kaasnevad mõned keelefunktsioonide täiendused, sealhulgas need, mida kavatsen üle vaadata.

Null ohutus

Null-turvalisus on päris suurepärane keelefunktsioon. See sunnib teid kaaluma, kas muutuja on kunagi null, ja tegelema selgesõnaliselt võimalike nullolukordadega, võimaldades samal ajal tagada, et konkreetsed muutujad ei ole kunagi nullid.

Versioonis Dart 2.12 on nüüd täielik null-turvalisuse tugi, mille süntaks sarnaneb Swifti ja Kotliniga. On isegi nutikas ülekandmine, kus kui Dart teab kindlalt, et normaalselt nullitatav muutuja ei saa olla null, heidab ta selle kaudselt nullitavale kujule.

Kuna null-turvalisus on (väga) murranguline muudatus, on see funktsioon lubatud. Kui värskendate versioonile Dart 2.12, siis teie kompilatsioon ei katke ja te ei pea kulutama tunde kõigele tühisusvihjete lisamisele. Võite isegi kasutada null-turvalisi sõltuvusi, kui teie projekt pole veel nullturvaline.

Kui olete otsustanud migreerida, saate kasutada sisseehitatud migreerimistööriista (noolemäng rändama) ja/või rändejuhend et kõik paika panna.

Kuigi null-turvalisus sisaldub Dart 2.12-s, ei lubata null-turvalisust uue Flutteri projekti loomisel. Peate selle käsitsi lubama. Uutel Darti projektidel on null-turvalisus lubatud.

Võõrfunktsiooni liides

Kuigi Dart (ja Flutter) keskendub täielikule platvormidevahelisele ühilduvusele, on siiski mõned asjad, mida tuleb teha lihtsalt algselt. Natiivsete toimingute hõlbustamiseks on Dartil välisfunktsioonide liides ehk FFI. FFI võimaldab teil suhelda Darti C-koodiga, ilma et peaksite kasutama veidraid stringipõhiseid API-kõnesid või muid kohmakaid koostalitlusmeetodeid.

Ja Dart 2.12-ga on FFI nüüd stabiilne, mis tähendab, et see on tootmisprojektides kasutamiseks valmis ja on enamasti täielik.

Seda silmas pidades on FFI-s mõned muudatused, sealhulgas paar purunevat.

Selle väljaande puhul keskenduti peamiselt sellele, kuidas struktuure saab Darti ja C-ga kasutada. Esiteks saate nüüd C-koodis struktuure edastada viite ja väärtuse alusel, kus varem toetati ainult viiteid. Teine oluline funktsioon on pesastatud struktuuride tugi, mida enne seda väljalaset ei olnud.

Nüüd murrangulistest muudatustest. Kui kasutasite FFI-d, peate võib-olla värskendama oma koodi, et see töötaks versiooniga 2.12. Selle FFI versiooniga ei saa te enam tühje struktuure luua. Kui teil on seda mingil põhjusel vaja, võite kasutada uut tüüpi "Opaque". Samuti on mõned muudatused mõnede FFI sisseehitatud funktsioonide töös, mida saate teha loe siit.

Lõpuks on FFI jaoks uus pakett, mis võimaldab genereerida olemasolevatest C-päisefailidest FFI-mähiseid, nn. ffigen. Kui teil on palju C-koodi, mida peate kasutama, koos paljude API-meetoditega, on see üsna kasulik. Isegi kui teie C-koodi hulk on väike, on see hea mugavusfunktsioon.


Ja see on Dart 2.12 jaoks peaaegu kõik. Null-turvalisuse ja stabiilse C-koostalitlusvõime teegi lisamisega on Dart muutumas väga funktsioonirikkaks keeleks. Andke meile kommentaarides teada, mida arvate Dart 2.12-st!