Dart 2.15 forritunarmál og Flutter 2.8 ramma í boði

Google hefur gefið út útgáfu á Dart 2.15 forritunarmálinu, sem heldur áfram þróun róttækrar endurhönnuðrar greinar Dart 2, sem er frábrugðin upprunalegu útgáfunni af Dart tungumálinu með því að nota sterka fasta vélritun (hægt er að álykta sjálfkrafa um tegundir, svo að tilgreina gerðir er ekki nauðsynlegt, en kraftmikil vélritun er ekki lengur notuð og upphaflega reiknuð er gerðinni úthlutað til breytunnar og ströngu tegundaeftirliti er síðan beitt).

Eiginleikar Dart tungumálsins:

  • Þekkt og auðvelt að læra setningafræði, eðlilegt fyrir JavaScript, C og Java forritara.
  • Tryggir hraða ræsingu og mikla afköst fyrir alla nútíma vafra og ýmsar gerðir umhverfa, allt frá flytjanlegum tækjum til öflugra tækja. netþjónum.
  • Hæfni til að skilgreina flokka og viðmót sem gera kleift að hjúpa og endurnýta núverandi aðferðir og gögn.
  • Með því að tilgreina gerðir er auðveldara að kemba og bera kennsl á villur, gera kóðann skýrari og læsilegri og einfalda breytingar hans og greiningu fyrir þriðja aðila.
  • Stuðlar gerðir eru: ýmsar gerðir af kjötkássa, fylki og listum, biðraðir, tölulegar og strengjagerðir, gerðir til að ákvarða dagsetningu og tíma, regluleg segð (RegExp). Það er hægt að búa til þínar eigin tegundir.
  • Til að skipuleggja samhliða framkvæmd er lagt til að nota flokka með einangrunareigindinni, en kóðinn sem er keyrður að öllu leyti í einangruðu rými á sérstöku minnissvæði og hefur samskipti við aðalferlið með því að senda skilaboð.
  • Stuðningur við notkun bókasöfna sem einfalda stuðning og villuleit stórra vefverkefna. Útfærslur aðgerða frá þriðja aðila geta verið innifalin í formi sameiginlegra bókasöfna. Hægt er að skipta umsóknum í hluta og fela sérstakt teymi forritara þróun hvers hluta.
  • Set af tilbúnum verkfærum til að styðja við þróun á Dart tungumálinu, þar á meðal innleiðingu kraftmikillar þróunar og villuleitarverkfæra með kóða leiðréttingu á flugi ("breyta-og-halda áfram").
  • Til að einfalda þróun á Dart tungumálinu kemur það með SDK, pakkastjórnunarpöbb, kyrrstöðukóðagreiningartæki dart_analyzer, safn af bókasöfnum, samþætt þróunarumhverfi DartPad og Dart-virkt viðbætur fyrir IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 og Vim.
  • Viðbótarpakka með bókasöfnum og tólum eru dreift í gegnum pub-geymsluna, sem inniheldur um það bil 22 pakka.

Helstu breytingar á Dart 2.15 útgáfu:

  • Verkfæri eru í boði fyrir hraða og samsíða keyrslu verkefna með einangrun verkamanna. Í fjölkjarna kerfum keyrir Dart keyrslutími sjálfkrafa forritskóða á einum örgjörvakjarna, en aðrir kjarnar eru notaðir fyrir kerfisverkefni eins og ósamstillta inntak/úttak, skráaritun eða netköll. Fyrir forrit sem krefjast samsíða keyrslu verkamanna sinna, eins og að birta hreyfimyndir í viðmóti, er boðið upp á möguleikann á að ræsa aðskildar kóðablokkir (einangrunarblokkir). Þessar blokkir eru einangraðar hver frá annarri og keyra á mismunandi örgjörvakjörnum samtímis aðalforritsþræðinum. Til að verjast villum sem eiga sér stað þegar kóði sem nálgast sama gagnasafn er keyrður samtímis er bannað að mismunandi einangraðar blokkir deili breytilegum hlutum og skilaboðasendingarlíkan er notað fyrir samskipti milli verkamanna.

    Dart 2.15 kynnir nýtt hugtak - einangraða hópa - sem gerir kleift að deila aðgangi að ýmsum innri gagnaskipanum innan einangraðra blokka innan hóps, sem dregur verulega úr kostnaði við samskipti milli meðhöndlunaraðila innan hóps. Til dæmis er ræsing viðbótar einangraðrar blokkar innan núverandi hóps 100 sinnum hraðari og krefst 10-100 sinnum minna minnis en ræsing sjálfstæðs einangraðs blokkar, með því að útrýma þörfinni á að frumstilla gagnaskipan forrita.

    Þó að sameiginlegur aðgangur að breytanlegum hlutum sé enn bannaður í einangruðum blokkum innan hóps, þá deila hóparnir hrúgaminni, sem flýtir verulega fyrir flutningi hluta úr einum blokk í annan án þess að þörf sé á auðlindafrekum afritunaraðgerðum. Nýja útgáfan gerir einnig kleift að senda niðurstöðu meðhöndlunar þegar kallað er á Isolate.exit() til að flytja gögn í yfireinangraða blokkina án þess að afrita. Ennfremur hefur skilaboðasendingarferlið verið fínstillt - lítil og meðalstór skilaboð eru nú unnin um það bil 8 sinnum hraðar. Hlutirnir sem hægt er að senda á milli einangruðra blokka með SendPort.send() innihalda nú ákveðnar gerðir af föllum, lokunum og staflarakningum.

  • Afrífingareiginleikinn fjarlægir takmarkanir á því að búa til slíka bendla í smíðakóða, sem getur verið gagnlegt þegar verið er að smíða viðmót byggð á Flutter bókasafninu. Til dæmis, til að búa til dálkviðmót sem inniheldur marga textviðmót, er hægt að kalla á .map() og senda bendlana til Text.new smíðahlutarins í Text hlutanum: class FruitWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: ['Apple', 'Orange'].map(Text.new).toList()); } }
  • Möguleikar á að nota virknisvísa hafa verið auknir. Möguleikinn á að nota almennar aðferðir og virknisvísa til að búa til óalmenna aðferð og vísa hefur verið bætt við: T id (T gildi) => gildi; var intId = auðkenni ; // leyft í útgáfu 2.15 í staðinn fyrir "int Function(int) intId = id;" const fo = id; // bendill á function id. const c1 = fo ;
  • dart:core bókasafnið hefur bætt stuðning við enums, eins og möguleikann á að prenta strenggildi hvers enumgildis með .name aðferðinni, velja gildi eftir nafni eða bera saman pör af gildum: enum MyEnum { einn, tveir, þrír } void main() { print(MyEnum.einn.nafn); // prentar "einn". print(MyEnum.values.byName('tveir') == MyEnum.tveir); // prentar "true". final map = MyEnum.values.asNameMap(); print(map['þrír'] == MyEnum.þrír); // "true". }
  • Tækni til að þjappa bendlum hefur verið innleidd, sem gerir kleift að nota samþjöppuð bendilframsetningu í 64-bita umhverfi ef 32-bita vistfangsrými er nægilegt fyrir vistfang (með því að nota ekki meira en 4 GB af minni). Prófanir hafa sýnt að þessi hagræðing getur minnkað hrúgustærð um það bil 10%. Nýja stillingin er þegar virk sjálfgefið í Flutter SDK. Androidog áætlað er að það verði tekið með í iOS útgáfu í framtíðinni.
  • Dart SDK inniheldur verkfæri til að greina villuleit og afköst (DevTools), sem áður voru í boði í sérstökum pakka.
  • Skipunin „dart pub“ og pakkageymslan pub.dev hafa verið uppfærð með verkfærum til að greina óvart birtingu viðkvæmra upplýsinga, svo sem að skilja eftir aðgangsupplýsingar fyrir samfelld samþættingarkerfi og skýjaumhverfi innan pakka. Ef slíkir lekar greinast mun skipunin „dart pub publish“ hætta við með villuboðum. Ef falskt jákvætt er gefið upp er nú hægt að setja á hvítlista til að komast framhjá þessari athugun.
  • Geymslan pub.dev gerir þér nú kleift að afturkalla áður birta útgáfu af pakka, til dæmis ef hættulegar villur eða veikleikar uppgötvast. Áður voru slíkar lagfæringar gerðar með því að birta síðari leiðréttingarútgáfu, en í sumum tilfellum er nauðsynlegt að hætta við núverandi útgáfu og stöðva frekari dreifingu hennar tafarlaust (til dæmis ef lagfæringin er ekki enn tilbúin eða ef full útgáfa var óvart birt í stað prufuútgáfu). Eftir afturköllun er pakkinn ekki lengur greindur af skipununum "pub get" og "pub upgrade", og á kerfum þar sem hann er þegar uppsettur er sérstök viðvörun gefin út næst þegar þú keyrir "pub get".
  • Bætt var við vernd gegn veikleika (CVE-2021-22567) sem stafar af notkun Unicode-tákna í kóða sem breyta birtingarröðinni.
  • Veikleiki (CVE-2021-22568) hefur verið lagfærður sem gerir árásaraðila kleift að þykjast vera annar pub.dev notandi þegar pakkar eru birtir á þriðja aðila netþjón sem tekur við pub.dev OAuth2 aðgangsmerkjum. Til dæmis er hægt að nota þennan veikleika til að ráðast á innri og fyrirtækja pakka netþjóna. Forritarar sem aðeins birta pakka á pub.dev eru ekki fyrir áhrifum af þessu vandamáli.

Á sama tíma var kynnt mikilvæg útgáfa af Flutter 2.8 notendaviðmótsþróunarrammanum, sem er talinn valkostur við React Native og gerir kleift að gefa út forrit fyrir iOS kerfi byggð á einum kóðagrunni. Android, Windows, macOS и Linux, sem og að búa til forrit til að keyra í vöfrum. Flutter er grunnurinn að notendaviðmóti örkjarnastýrikerfisins Fuchsia frá Google. Það hefur komið fram að á síðustu sex mánuðum hefur fjöldi Flutter 2 forrita í Google Play Store aukist úr 200 í 375, sem er næstum tvöföldun.

Meginhluti Flutter kóðans er útfærður á Dart tungumálinu og keyrsluvélin til að keyra forrit er skrifuð í C++. Þegar þú þróar forrit, til viðbótar við móðurmál Flutter Dart, geturðu notað Dart Foreign Function viðmótið til að hringja í C/C++ kóða. Hár framkvæmdarárangur næst með því að setja saman forrit í innfæddan kóða fyrir markvettvanga. Í þessu tilviki þarf ekki að setja forritið saman aftur eftir hverja breytingu - Dart býður upp á heita endurhleðsluham sem gerir þér kleift að gera breytingar á keyrandi forriti og meta niðurstöðuna strax.

Breytingar í nýju útgáfunni af Flutter fela í sér fínstillingar á ræsingarhraða og minnisnotkun í snjalltækjum. Tenging forrita við bakþjónustur eins og Firebase og Google Cloud hefur verið einfölduð. Verkfæri til að samþætta við Google Ads hafa verið stöðug. Stuðningur við myndavélar og vefviðbætur hefur verið verulega bættur. Ný verkfæri eru í boði til að einfalda þróun, svo sem viðbót við búnað fyrir auðkenningu með Firebase. Flame vélin, sem er hönnuð til að þróa 2D leiki með Flutter, hefur verið uppfærð.

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster