Dart 2.14 tungumál og Flutter 2.5 ramma í boði

Google hefur gefið út útgáfu á Dart 2.14 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 vefvafra og ýmiss konar umhverfi, allt frá flytjanlegum tækjum til öflugra netþjóna.
  • 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ótarpökkum með bókasöfnum og tólum er dreift í gegnum kráargeymsluna, sem hefur meira en 20 þúsund pakka.

Helstu breytingar á Dart 2.14 útgáfu:

  • Bætt hefur verið við nýrri þrívaktarvirki (>>>) sem, ólíkt „>>“ stjórnanda, framkvæmir ekki reikning, heldur rökræna vakt sem virkar án þess að taka tillit til formerkisbitans (vaktin er framkvæmd án þess að skipta í jákvæðar og neikvæðar tölur).
  • Fjarlægði takmörkun á tegundarröksemdum sem komu í veg fyrir að almennar falltegundir væru notaðar sem tegundarrök. Til dæmis, nú getur þú tilgreint: seint Listi (T)>idFunctions; var svarhringing = [ (T gildi) => gildi]; seint S Virka (T)>(S) f;
  • Leyfa að tilgreina rök með tegundum í athugasemdum eins og @Undanlegt. Til dæmis geturðu nú tilgreint: @TypeHelper (42, "Merkingin")
  • Stöðu aðferðunum hash, hashAll og hashAllUordered hefur verið bætt við staðlaða bókasafnið (kjarna) í Object klasanum. DateTime flokkurinn hefur bætt meðhöndlun staðartíma þegar umreiknað er klukkum á milli sumar- og vetrartíma sem ekki er deilanlegt með einni klukkustund (td í Ástralíu er 30 mínútna frávik notuð). Ffi pakkinn hefur bætt við stuðningi við vettvangsminni úthlutunarkerfi, sem losar sjálfkrafa auðlindir. ffigen pakkinn hefur bætt við getu til að búa til typedef skilgreiningar á Dart gerðum úr C tungumálinu.
  • 250 vinsælustu pakkunum frá pub.dev geymslunni og 94% af topp-1000 hefur verið skipt yfir í að nota „nullöryggi“ stillinguna, sem mun forðast hrun af völdum tilrauna til að nota breytur sem eru óskilgreindar og stilltar á „Null“ ”“ Hátturinn gefur til kynna að breytur geti ekki haft núllgildi nema þeim sé sérstaklega úthlutað núllgildinu. Stillingin virðir nákvæmlega breytilegar tegundir, sem gerir þýðandanum kleift að beita viðbótarhagræðingum. Gerðarsamræmi er athugað við þýðingu, til dæmis, ef þú reynir að úthluta gildinu „Null“ til breytu með gerð sem gefur ekki til kynna óskilgreint ástand, eins og „int“, mun villa birtast.
  • Lagðar eru til samræmdar reglur fyrir kóðagreiningartækið (linter), sem veita samtímis stuðning við að athuga samræmi við leiðbeiningar um kóðastíl fyrir Dart og Flutter ramma. Af sögulegum ástæðum voru kóðunarreglurnar fyrir Flutter og Dart ólíkar, auk þess sem fyrir Dart voru tvö sett af reglum í notkun - pedantískar reglur frá Google og reglur frá Dart þróunarsamfélaginu. Dart 2.14 kynnir nýtt sameiginlegt sett af reglum fyrir linter, sem ákveðið er að nota sjálfgefið í nýjum Dart verkefnum og í Flutter SDK. Settið inniheldur kjarnareglur (lints/core.yaml pakki), ráðlagðar viðbótarreglur (lints/recommended.yaml) og Flutter-sértækar ráðleggingar (flutter_lints/flutter.yaml). Notendum pedantískra reglna er bent á að skipta yfir í að nota nýjan kóðunarstíl byggt á ráðleggingum frá Dart skjölunum.
  • Í sniði hafa verið gerðar hagræðingar á sniði á steypandi kóðablokkum, sem getur bætt sniðafköst verulega og forðast óljósa túlkun á eignarhaldi tjáningarþátta. Til dæmis að kalla "..doIt" í orðatiltækinu "var result = errorState ? foo : bad..doIt()“ varðar ekki skilyrta hluta „slæma“ blokkarinnar, heldur alla tjáninguna, þannig að þegar hún er sniðin er hún nú aðskilin: var result = errorState ? foo : slæmt ..gera();
  • Stuðningur fyrir Apple M1 (Silicon) örgjörva hefur verið bætt við SDK, sem gefur til kynna bæði getu til að keyra Dart VM, tól og SDK íhluti á kerfum með Apple Silicon örgjörva, og stuðning við að setja saman keyranlegar skrár fyrir þessa flís.
  • Skipunin „dart pub“ hefur bætt við stuðningi við nýja þjónustuskrá „.pubignore“ sem gerir þér kleift að skilgreina lista yfir skrár sem verður sleppt þegar pakki er birtur í pub.dev geymslunni. Þessar stillingar trufla ekki ".gitignore" hunsunarlistann (í sumum tilfellum gæti pub.dev viljað forðast að flytja skrár sem eru nauðsynlegar í Git, til dæmis innri forskriftir sem notaðar eru við þróun).
  • Unnið hefur verið að því að bæta frammistöðu „píluprófunar“ skipunarinnar, sem nú krefst ekki endursamsetningar prófa eftir að hafa breytt pubspec ef útgáfunúmerið hefur ekki breyst.
  • Stuðningur við samantekt í ECMAScript 5 samhæfingarham hefur verið hætt (breytingin mun leiða til taps á eindrægni við IE11 vafra).
  • Einstök tól stagehand, dartfmt og dart2native hafa verið lýst úrelt, skipt út fyrir innbyggðar skipanir sem kallaðar eru í gegnum píluforritið.
  • VM Native Extensions vélbúnaðurinn hefur verið úreltur. Til að hringja í innfæddan kóða frá Dart kóða er mælt með því að nota nýja Dart FFI (Foreign Function Interface).

Á sama tíma var kynnt umtalsverð útgáfa af notendaviðmótsramma Flutter 2.5, sem er talinn valkostur við React Native og gerir, byggt á einum kóðagrunni, kleift að gefa út forrit fyrir iOS, Android, Windows, macOS og Linux palla, auk þess að búa til forrit til að keyra í vöfrum. Sérsniðin skel fyrir Fuchsia örkjarna stýrikerfið þróað af Google er byggt á Flutter.

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.

Helstu breytingar á Flutter 2.5:

  • Gerði verulegar hagræðingar á frammistöðu. Á iOS og macOS kerfum hefur forsamsetning á skyggingum fyrir Metal grafík API verið innleidd. Bætt skilvirkni við vinnslu ósamstilltra atburða. Leysti vandamál með töfum þegar sorphirðarinn endurheimtir minni úr ónotuðum myndum (til dæmis, við spilun á 20 sekúndna hreyfimyndaðri GIF, var sorphirðuaðgerðum fækkað úr 400 í 4. Tafir við sendingu skilaboða milli Dart og Objective- C/Swift voru lækkuð í 50% (iOS) eða Java/Kotlin (Android) Bætt við innbyggðum stuðningi fyrir kerfi byggð á Apple Silicon flísinni.
    Dart 2.14 tungumál og Flutter 2.5 ramma í boði
  • Fyrir Android pallinn hefur verið komið á fót stuðningi við að keyra forrit á fullum skjá. Innleiðing hönnunarhugmyndarinnar „Material You“, kynnt sem næstu kynslóðar efnishönnunarvalkostur, hélt áfram. Bætti við nýju ástandi MaterialState.scrolledUnder, innleiddi kraftmikla birtingu á skrunstikum við stærðarbreytingu og lagði til nýtt viðmót til að birta tilkynningaborða.
  • Möguleiki myndavélarviðbótarinnar hefur verið aukin verulega og bætt við verkfærum til að stjórna sjálfvirkum fókus, lýsingu, flassi, aðdrætti, hávaðaminnkun og upplausn.
  • Verkfæri þróunaraðila (DevTools) hafa verið endurbætt til að fela í sér uppfærða skoðunarstillingu græja, sem og verkfæri til að bera kennsl á seinkun á flutningi og rekja skyggingarsöfnun.
    Dart 2.14 tungumál og Flutter 2.5 ramma í boði
  • Bætt viðbætur fyrir Visual Studio Code og IntelliJ/Android Studio.

Heimild: opennet.ru

Bæta við athugasemd