Teanga ríomhchlárúcháin Dart 2.15 agus creat Flutter 2.8 ar fáil

D'fhoilsigh Google scaoileadh teanga cláir Dart 2.15, a leanann ar aghaidh le forbairt brainse radacach athdheartha de Dart 2, atá difriúil ón leagan bunaidh den teanga Dart trí úsáid a bhaint as clóscríobh láidir statach (is féidir cineálacha a thuiscint go huathoibríoch, mar sin ní gá cineálacha a shonrú, ach ní úsáidtear clóscríobh dinimiciúil a thuilleadh agus ríomhtar an cineál ar dtús don athróg agus cuirtear seiceáil cineáil dhian i bhfeidhm ina dhiaidh sin).

Gnéithe den teanga Dart:

  • Comhréir eolach agus éasca le foghlaim, nádúrtha do JavaScript, C agus Java ríomhchláraitheoirí....
  • Seoladh tapa agus ardfheidhmíocht a chinntiú do gach brabhsálaí gréasáin nua-aimseartha agus cineálacha éagsúla timpeallachtaí, ó ghléasanna iniompartha go freastalaithe cumhachtacha.
  • An cumas aicmí agus comhéadain a shainiú a cheadaíonn modhanna agus sonraí atá ann cheana a chuimsiú agus a athúsáid.
  • Trí chineálacha a shonrú, beidh sé níos éasca earráidí a dhífhabhtú agus a aithint, déanann sé an cód níos soiléire agus níos inléite, agus déanann forbróirí tríú páirtí a mhodhnú agus a anailísiú a shimpliú.
  • I measc na gcineálacha a dtacaítear leo tá: cineálacha éagsúla hashes, eagair agus liostaí, scuainí, cineálacha uimhriúla agus teaghráin, cineálacha chun dáta agus am a chinneadh, nathanna rialta (RegExp). Is féidir do chineálacha féin a chruthú.
  • Chun forghníomhú comhthreomhar a eagrú, tá sé beartaithe ranganna a úsáid leis an tréith leithlis, a ndéantar an cód a fhorghníomhú go hiomlán i spás iargúlta i limistéar cuimhne ar leith, ag idirghníomhú leis an bpríomhphróiseas trí theachtaireachtaí a sheoladh.
  • Tacaíocht d’úsáid leabharlanna a shimplíonn an tacaíocht agus an dífhabhtú do thionscadail mhóra ghréasáin. Is féidir cur i bhfeidhm feidhmeanna tríú páirtí a áireamh i bhfoirm leabharlanna roinnte. Is féidir iarratais a roinnt ina gcodanna agus forbairt gach cuid a chur de chúram ar fhoireann ríomhchláraitheoirí ar leith.
  • Sraith uirlisí réamhdhéanta chun tacú le forbairt sa teanga Dart, lena n-áirítear uirlisí forbartha dinimiciúla agus dífhabhtaithe le ceartúchán cód ar an eitilt (“eagarthóireacht agus lean ar aghaidh”) a chur i bhfeidhm.
  • Chun forbairt sa teanga Dart a shimpliú, tagann sé le SDK, teach tábhairne bainisteoir pacáiste, anailísí cód statach dart_analyzer, sraith leabharlann, timpeallacht forbartha comhtháite DartPad agus breiseáin Dart-chumasaithe le haghaidh IntelliJ IDEA, WebStorm, Emacs, Téacs Sublime 2 agus Vim.
  • Déantar pacáistí breise le leabharlanna agus fóntais a dháileadh tríd an stór tithe tábhairne, ina bhfuil thart ar 22 míle pacáiste.

Athruithe móra ar eisiúint Dart 2.15:

  • Soláthraíonn uirlisí chun tascanna a chur i gcrích go tapa comhthreomhar le láimhseálaithe a leithlisiú. Ar chórais illárnacha, ritheann an t-am rite Dart de réir réamhshocraithe cód feidhmchláir ar chroílár LAP amháin agus úsáideann sé croíleacáin eile chun tascanna córais a dhéanamh ar nós I/O asincrónach, scríobh chuig comhaid, nó glaonna líonra a dhéanamh. I gcás feidhmchlár ar gá a láimhseálaithe a fhorghníomhú go comhthreomhar, mar shampla, chun beochan a sholáthar sa chomhéadan, is féidir bloic cód ar leith a sheoladh (aonrú), scoite óna chéile agus a fhorghníomhaítear ar chroíleacáin LAP eile ag an am céanna leis an bpríomhshnáithe feidhmchláir. . Chun cosaint a dhéanamh i gcoinne earráidí a thagann chun cinn nuair a dhéantar cód a oibriú go comhuaineach leis an tsraith chéanna sonraí, toirmisctear roinnt rudaí mutable i mbloic leithlisithe éagsúla, agus úsáidtear múnla seolta teachtaireachta le haghaidh idirghníomhú idir láimhseálaithe.

    Tugann Dart 2.15 coincheap nua isteach - blocghrúpaí scoite (grúpaí leithlisithe), a ligeann duit rochtain roinnte ar struchtúir sonraí inmheánacha éagsúla a eagrú i mbloic leithlisithe atá mar chuid den ghrúpa céanna, ar féidir leo forchostais a laghdú go suntasach nuair a bhíonn siad ag idirghníomhú idir láimhseálaithe i ngrúpa. . Mar shampla, tá sé 100 uair níos tapúla chun bloc aonrúcháin breise a sheoladh i ngrúpa atá ann cheana féin agus éilíonn sé 10-100 uair níos lú cuimhne ná bloc leithlisithe ar leith a sheoladh, mar gheall ar deireadh a chur leis an ngá atá le struchtúir sonraí cláir a thosú.

    In ainneoin go gcuirtear cosc ​​​​ar bhlocanna aonrúcháin i ngrúpa fós ar rochtain roinnte ar rudaí só-ghineacha, úsáideann na grúpaí cuimhne carn roinnte, a d'fhéadfadh aistriú rudaí ó bhloc amháin go bloc eile a bhrostú go suntasach gan gá le hoibríochtaí cóipeála atá dian ar acmhainní. Ligeann an leagan nua duit freisin toradh an láimhseálaí a chur ar aghaidh agus tú ag glaoch ar Isolate.exit() chun sonraí a aistriú chuig an bloc leithlisithe tuismitheoir gan oibríochtaí cóipeála. Ina theannta sin, tá an mheicníocht tarchurtha teachtaireachtaí optamaithe - déantar teachtaireachtaí beaga agus meánmhéide a phróiseáil thart ar 8 n-uaire níos tapúla anois. Áirítear ar na rudaí is féidir a aistriú idir aonróga ag baint úsáide as an nglao SendPort.send() roinnt cineálacha feidhmeanna, dúnta, agus rianta cruachta.

  • Sna huirlisí chun leideanna a chruthú d'fheidhmeanna aonair i réada eile (scriosadh), baineadh srianta ar threoracha comhchosúla a chruthú i gcód cruthaitheoir, rud a d'fhéadfadh a bheith úsáideach agus comhéadain á dtógáil bunaithe ar an leabharlann Flutter. Mar shampla, chun giuirléid Colún a chruthú a chuimsíonn giuirléidí iolracha Téacs, is féidir leat ".map()" a ghlaoch agus leideanna a chur ar aghaidh chuig cruthaitheoir Text.new an oibiachta Téacs: leathnaíonn FruitWidget StatelessWidget { @override Giuirléid tógáil(BuildContext context) { aischolún (leanaí: ['Apple', 'Orange'].mapa(Text.new).toList()); } }
  • Leathnaíodh na féidearthachtaí a bhaineann le húsáid leideanna feidhme. Cuireadh leis an gcumas modhanna cineálacha agus leideanna feidhme a úsáid chun modh agus pointeoir neamhchineálach a chruthú: T id (T luach) => luach; var intId = id ; // ceadaithe i leagan 2.15 in ionad "int Function(int) intId = id;" const fo = id; // pointeoir le haitheantas na feidhme. const c1 = fo ;
  • D'fheabhsaigh an leabharlann dart:lárnach tacaíocht d'enums, mar shampla, is féidir leat luach teaghrán a aschur anois ó gach luach enum ag baint úsáide as an modh ".name", roghnaigh luachanna de réir ainm, nó meaitseáil péirí luachanna: enum MyEnum { a haon , dó, trí } folús príomh() { print(MyEnum.one.name); // clóbhuailfear "ceann". print(MyEnum.values.byName('dhá') == MyEnum.two); // clóbhuailfear "fíor". léarscáil deiridh = MyEnum.values.asNameMap(); print(mapa['three'] == MyEnum.three); // "fíor". }
  • Tá teicníc comhbhrú pointeora curtha i bhfeidhm a cheadaíonn léiriú níos dlúithe ar threoracha a úsáid i dtimpeallachtaí 64-giotán má tá spás seolta 32-giotán leordhóthanach chun seoltaí a dhéanamh (ní úsáidtear níos mó ná 4 GB de chuimhne). Tá sé léirithe ag tástálacha go bhfágann barrfheabhsú den sórt sin gur féidir méid an chairn a laghdú thart ar 10%. Sa Flutter SDK, tá an modh nua cumasaithe cheana féin le haghaidh Android de réir réamhshocraithe, agus tá sé beartaithe é a chumasú do iOS i scaoileadh amach anseo.
  • Áirítear leis an Dart SDK uirlisí le haghaidh dífhabhtaithe agus anailís feidhmíochta (DevTools), a soláthraíodh i bpacáiste ar leith roimhe seo.
  • Cuireadh uirlisí leis an ordú “dart pub” agus na stórtha pacáiste pub.dev chun foilsiú faisnéise rúnda a rianú de thaisme, mar shampla, dintiúir a fhágáil do chórais chomhtháthaithe leanúnaigh agus do thimpeallachtaí scamall laistigh den phacáiste. Má aimsítear a leithéid de sceitheadh, cuirfear isteach ar fhorghníomhú an ordaithe “dart pub publish” le teachtaireacht earráide. Má bhí deimhneach bréagach ann, is féidir an seic a sheachbhóthar trí liosta bán.
  • Cuireadh an cumas leagan atá foilsithe cheana féin de phacáiste a chúlghairm leis an stór pub.dev, mar shampla, má aimsítear earráidí contúirteacha nó leochaileachtaí. Roimhe seo, le haghaidh ceartúcháin den sórt sin, ba é an cleachtas a bhí ann leagan ceartaitheach a fhoilsiú, ach i gcásanna áirithe is gá an scaoileadh reatha a chealú agus stop a chur go práinneach lena dháileadh breise (mar shampla, mura bhfuil an ceartúchán réidh fós nó má bhí scaoileadh iomlán ann). arna fhoilsiú de dhearmad in ionad leagan tástála). Tar éis é a chúlghairm, ní shainaithnítear an pacáiste a thuilleadh sna horduithe “tabhairne tábhairne” agus “uasghrádú tithe tábhairne”, agus ar chórais a bhfuil sé suiteáilte cheana féin, eisítear rabhadh speisialta an chéad uair eile a dhéantar “faigh tábhairne”.
  • Cosaint bhreise ar leochaileacht (CVE-2021-22567) de bharr carachtair Unicode a úsáid sa chód a athraíonn an t-ordú taispeána.
  • Leochaileacht seasta (CVE-2021-22568) a ligeann duit aithris a dhéanamh ar úsáideoir pub.dev eile agus pacáistí á bhfoilsiú do fhreastalaí tríú páirtí a ghlacann le comharthaí rochtana pub.dev oauth2. Mar shampla, d’fhéadfaí an leochaileacht a úsáid chun freastalaithe pacáiste inmheánacha agus corparáideacha a ionsaí. Ní chuireann an tsaincheist seo isteach ar fhorbróirí nach n-óstaíonn ach pacáistí ar pub.dev.

Ag an am céanna, cuireadh scaoileadh suntasach ar an gcreat comhéadan úsáideora Flutter 2.8 i láthair, a mheastar mar mhalairt ar React Native agus a cheadaíonn, bunaithe ar bhonn cód aonair, feidhmchláir a scaoileadh le haghaidh iOS, Android, Windows, macOS agus ardáin Linux, chomh maith le feidhmchláir a chruthú le rith i mbrabhsálaithe. Tógtar blaosc saincheaptha do chóras oibriúcháin micrea-eithne Fuchsia arna fhorbairt ag Google ar bhonn Flutter. Tugtar faoi deara, le sé mhí anuas, go bhfuil méadú tagtha ar líon na n-iarratas Flutter 2 sa Google Play Store ó 200 míle go 375 míle, i.e. beagnach faoi dhó.

Cuirtear an phríomhchuid den chód Flutter i bhfeidhm sa teanga Dart, agus tá an t-inneall rite chun feidhmchláir a fheidhmiú scríofa i C++. Agus feidhmchláir á bhforbairt, chomh maith le teanga dhúchais Flutter ar Dart, is féidir leat an comhéadan Dart Foreign Function a úsáid chun cód C/C++ a ghlaoch. Baintear amach ardfheidhmíocht fhorghníomhaithe trí fheidhmchláir a thiomsú chuig an gcód dúchais le haghaidh ardáin sprice. Sa chás seo, ní gá an clár a ath-thiomsú tar éis gach athrú - soláthraíonn Dart modh athlódála te a ligeann duit athruithe a dhéanamh ar iarratas reatha agus an toradh a mheas láithreach.

I measc na n-athruithe ar scaoileadh nua Flutter, tugtar faoi deara leas iomlán a bhaint as luas seolta agus tomhaltas cuimhne ar ghléasanna soghluaiste. Tá sé níos éasca aipeanna a nascadh le seirbhísí inneall mar Firebase agus Google Cloud. Tá uirlisí le haghaidh comhtháthú le Google Ads cobhsaithe. Tá feabhas suntasach tagtha ar thacaíocht do cheamaraí agus do bhreiseáin ghréasáin. Tá uirlisí nua molta chun forbairt a shimpliú, mar shampla, cuireadh giuirléid leis le haghaidh fíordheimhnithe ag baint úsáide as Firebase. Tá an t-inneall Lasair, atá deartha chun cluichí 2D a fhorbairt ag baint úsáide as Flutter, nuashonraithe.

Foinse: oscailtenet.ru

Add a comment