Cànan prògramadh Dart 2.15 agus frèam Flutter 2.8 ri fhaighinn

Tha Google air foillseachadh cànan prògramadh Dart 2.15, a tha a’ leantainn air adhart le leasachadh meur Dart 2 ath-dhealbhaichte gu mòr, a tha eadar-dhealaichte bhon dreach tùsail den chànan Dart ann an cleachdadh clò-sgrìobhaidh làidir statach (faodar seòrsaichean a thoirt a-steach gu fèin-ghluasadach, mar sin a’ sònrachadh chan eil feum air seòrsaichean, ach chan eilear a’ cleachdadh taidhpeadh fiùghantach tuilleadh agus tha an àireamhachadh tùsail den t-seòrsa air a shònrachadh don chaochladair agus thèid sgrùdadh seòrsa teann a chuir an sàs às deidh sin).

Feartan cànan Dart:

  • Co-chòrdadh eòlach agus furasta ionnsachadh, nàdarra airson prògramadairean JavaScript, C agus Java.
  • A’ dèanamh cinnteach à cur air bhog luath agus àrd-choileanadh airson a h-uile brobhsair lìn ùr-nodha agus diofar sheòrsan àrainneachdan, bho innealan so-ghiùlain gu frithealaichean cumhachdach.
  • Comas air clasaichean agus eadar-aghaidh a mhìneachadh a leigeas le bhith a’ gabhail a-steach agus ag ath-chleachdadh dhòighean agus dàta a tha ann mar-thà.
  • Le bhith a’ sònrachadh sheòrsan bidh e nas fhasa mearachdan a dheasbad agus a chomharrachadh, a’ dèanamh a’ chòd nas soilleire agus nas so-leughaidh, agus a’ sìmpleachadh atharrachadh agus mion-sgrùdadh le luchd-leasachaidh treas-phàrtaidh.
  • Am measg nan seòrsaichean le taic tha: diofar sheòrsaichean hashes, arrays agus liostaichean, ciudhaichean, seòrsachan àireamhach is sreang, seòrsaichean airson ceann-latha agus àm a dhearbhadh, abairtean cunbhalach (RegExp). Tha e comasach na seòrsaichean agad fhèin a chruthachadh.
  • Gus coileanadh co-shìnte a chuir air dòigh, thathas a ’moladh clasaichean a chleachdadh leis a’ fheart aonaranach, agus tha an còd air a chuir gu bàs gu tur ann an àite iomallach ann an raon cuimhne fa leth, ag eadar-obrachadh leis a ’phrìomh phròiseas le bhith a’ cur teachdaireachdan.
  • Taic airson cleachdadh leabharlannan a tha a 'sìmplidh taic agus debugging pròiseactan lìn mòra. Faodar buileachadh ghnìomhan treas-phàrtaidh a ghabhail a-steach ann an cruth leabharlannan co-roinnte. Faodar tagraidhean a roinn ann am pàirtean agus leasachadh gach pàirt a thoirt do sgioba de luchd-prògramaidh air leth.
  • Seata de dh’ innealan deiseil gus taic a thoirt do leasachadh anns a’ chànan Dart, a’ toirt a-steach buileachadh innealan leasachaidh fiùghantach agus deasbaid le ceartachadh còd air a’ chuileag (“deasaich is lean air adhart”).
  • Gus leasachadh anns a’ chànan Dart a dhèanamh nas sìmplidhe, thig e le SDK, taigh-seinnse manaidsear pacaid, anailisiche còd statach dart_analyzer, seata de leabharlannan, àrainneachd leasachaidh aonaichte DartPad agus plugins le comas Dart airson IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 agus Vim.
  • Tha pasganan a bharrachd le leabharlannan agus goireasan air an cuairteachadh tro stòr an taigh-seinnse, anns a bheil timcheall air 22 mìle pasgan.

Atharraichean mòra ann an sgaoileadh Dart 2.15:

  • A 'toirt seachad innealan airson gnìomhan a choileanadh gu luath co-shìnte le iomallachd luchd-làimhseachaidh. Air siostaman ioma-cridhe, bidh an ùine ruith Dart gu bunaiteach a ’ruith còd tagraidh air aon chridhe CPU agus a’ cleachdadh coraichean eile gus gnìomhan siostam a choileanadh leithid I / O asyncronach, sgrìobhadh gu faidhlichean, no gairmean lìonra a dhèanamh. Airson tagraidhean a dh’ fheumas an luchd-làimhseachaidh a chuir an gnìomh ann an co-shìnte, mar eisimpleir, gus beòthachadh a thoirt seachad san eadar-aghaidh, tha e comasach blocaichean còd fa leth a chuir air bhog (aonaranach), dealaichte bho chèile agus a chuir gu bàs air coraichean CPU eile aig an aon àm ri prìomh snàithlean an tagraidh. . Gus dìon an aghaidh mhearachdan a thig am bàrr nuair a thèid còd a chur an gnìomh aig an aon àm leis an aon sheata de dhàta, tha e toirmisgte a bhith a’ roinneadh stuthan mutable ann an diofar bhlocaichean iomallach, agus thathas a’ cleachdadh modal slighe teachdaireachd airson eadar-obrachadh eadar luchd-làimhseachaidh.

    Tha Dart 2.15 a’ toirt a-steach bun-bheachd ùr - buidhnean bloca iomallach (buidhnean iomallach), a leigeas leat ruigsinneachd co-roinnte a chuir air dòigh gu diofar structaran dàta a-staigh ann am blocaichean iomallach a tha nam pàirt den aon bhuidheann, a dh’ fhaodadh cosgaisean a lughdachadh gu mòr nuair a bhios tu ag eadar-obrachadh eadar luchd-làimhseachaidh ann am buidheann . Mar eisimpleir, tha cur air bhog bloc aonaranach a bharrachd ann am buidheann a tha ann mar-thà 100 tursan nas luaithe agus feumaidh e 10-100 uair nas lugha de chuimhne na bhith a’ cur air bhog bloc aonaranach fa leth, air sgàth ‘s gu bheilear a’ cur às don fheum air structaran dàta prògram a thòiseachadh.

    A dh ’aindeoin gu bheil blocaichean aonaranach ann am buidheann fhathast a’ toirmeasg ruigsinneachd co-roinnte air stuthan mutable, bidh na buidhnean a ’cleachdadh cuimhne tiùrr co-roinnte, a dh’ fhaodas gluasad stuthan bho aon bhloc gu bloc a luathachadh gu mòr gun a bhith feumach air obair leth-bhreac dian-ghoireasan. Leigidh an dreach ùr leat cuideachd toradh an neach-làimhseachaidh a thoirt seachad nuair a chuireas tu fios gu Isolate.exit() gus dàta a ghluasad chun bhloc aonaranachd phàrant gun a bhith a’ dèanamh lethbhreac de ghnìomhachd. A bharrachd air an sin, chaidh an uidheamachd tar-chuir teachdaireachd ùrachadh - tha teachdaireachdan beaga is meadhanach a-nis air an giullachd timcheall air 8 tursan nas luaithe. Am measg nan stuthan a dh’ fhaodar a chuir eadar aonaran a’ cleachdadh a’ ghairm SendPort.send () tha cuid de sheòrsan ghnìomhan, dùnadh, agus lorgan stac.

  • Anns na h-innealan airson comharran a chruthachadh gu gnìomhan fa leth ann an nithean eile (tear-dheth), chaidh cuingealachaidhean air a bhith a’ cruthachadh comharran coltach ris ann an còd constructor a thoirt air falbh, a dh’ fhaodadh a bhith feumail nuair a bhios tu a ’togail eadar-aghaidh stèidhichte air leabharlann Flutter. Mar eisimpleir, gus widget Colbh a chruthachadh a tha a’ toirt a-steach grunn widgets teacsa, faodaidh tu “.map()” a ghairm agus comharran a chuir gu neach-togail Text.new an nì Text: clas FruitWidget a’ leudachadh StatelessWidget { @override Widget build (BuildContext context) { tilleadh Colbh (clann: ['Apple', 'Orange'] .map(Text.new).toList()); } }
  • Chaidh na cothroman co-cheangailte ri cleachdadh comharran gnìomh a leudachadh. Chuir sinn ris a’ chomas air dòighean coitcheann agus comharran gnìomh a chleachdadh gus modh neo-choitcheann agus puing a chruthachadh: T id (T luach) => luach; var intId = id ; // ceadaichte ann an dreach 2.15 an àite "int Function(int) intId = id;" const fo = id; // puing gu id gnìomh. const c1 = fo ;
  • Tha an leabharlann dart: bunaiteach air taic a leasachadh airson àireamhan, mar eisimpleir, faodaidh tu a-nis luach sreang a chuir a-mach bho gach luach enum a’ cleachdadh an dòigh “.name”, tagh luachan a rèir ainm, no maids paidhrichean luachan: enum MyEnum { aon , dhà, trì } falamh prìomh() { print(MyEnum.one.name); // "aon" a chlò-bhualadh. print(MyEnum.values.byName('two') == MyEnum.two); // "true" a chlò-bhualadh. mapa deireannach = MyEnum.values.asNameMap(); print(map['three'] == MyEnum.three); // "fìor". }
  • Chaidh innleachd teannachaidh puing a chuir an gnìomh a leigeas le riochdachadh nas dlùithe de chomharran a chleachdadh ann an àrainneachdan 64-bit ma tha àite seòlaidh 32-bit gu leòr airson seòladh (chan eilear a’ cleachdadh barrachd air 4 GB de chuimhne). Tha deuchainnean air sealltainn gu bheil an leithid de bharrachadh ga dhèanamh comasach meud a’ charn a lughdachadh timcheall air 10%. Anns an Flutter SDK, tha am modh ùr air a chomasachadh mu thràth airson Android gu bunaiteach, agus thathar an dùil a bhith air a chomasachadh airson iOS ann am brath san àm ri teachd.
  • Tha an Dart SDK a’ toirt a-steach innealan airson debugging agus mion-sgrùdadh coileanaidh (DevTools), a chaidh a thoirt seachad roimhe seo ann am pasgan air leth.
  • Chaidh innealan a chuir ris an àithne “dart pub” agus na stòran pacaid pub.dev gus sùil a chumail air foillseachadh gun fhiosta air fiosrachadh dìomhair, mar eisimpleir, a’ fàgail teisteanasan airson siostaman amalachaidh leantainneach agus àrainneachdan sgòthan taobh a-staigh a’ phacaid. Ma lorgar aoidion mar sin, thèid teachdaireachd mearachd a chuir an gnìomh nuair a thèid an àithne “dart pub publish” a chuir an gnìomh. Nam biodh dearbhach meallta ann, tha e comasach faighinn seachad air an t-seic tro liosta geal.
  • Chaidh an comas dreach de phasgan a chaidh fhoillseachadh mar-thà a chùl-ghairm a chuir ris an stòr pub.dev, mar eisimpleir, ma lorgar mearachdan cunnartach no so-leòntachd. Roimhe sin, airson a leithid de cheartachadh, b ’e an cleachdadh dreach ceartachaidh fhoillseachadh, ach ann an cuid de shuidheachaidhean feumar an sgaoileadh a th’ ann mar-thà a chuir dheth agus stad gu sgiobalta air a chuairteachadh a bharrachd (mar eisimpleir, mura h-eil an ceartachadh deiseil fhathast no ma chaidh làn fhoillseachadh a chuir dheth). fhoillseachadh le mearachd an àite dreach deuchainn). Às deidh a chùl-ghairm, chan eil am pasgan air a chomharrachadh tuilleadh anns na h-òrdughan “taigh-seinnse" agus "àrdachadh taigh-seinnse", agus air siostaman a tha air a chuir a-steach mar-thà, thèid rabhadh sònraichte a thoirt seachad an ath thuras a thèid “taigh-seinnse" a chuir gu bàs.
  • Dìon a bharrachd an aghaidh so-leòntachd (CVE-2021-22567) air adhbhrachadh le bhith a’ cleachdadh charactaran unicode sa chòd a dh’ atharraicheas an òrdugh taisbeanaidh.
  • Chàirich sinn so-leòntachd (CVE-2021-22568) a leigeas leat atharrais a dhèanamh air neach-cleachdaidh pub.dev eile nuair a bhios tu a’ foillseachadh phasganan gu frithealaiche treas-phàrtaidh a ghabhas ri comharran ruigsinneachd pub.dev oauth2. Mar eisimpleir, dh’ fhaodadh an so-leòntachd a bhith air a chleachdadh gus ionnsaigh a thoirt air frithealaichean pacaid a-staigh agus corporra. Chan eil a’ chùis seo a’ toirt buaidh air luchd-leasachaidh nach eil a’ toirt aoigheachd ach do phasganan air pub.dev.

Aig an aon àm, chaidh foillseachadh mòr den fhrèam eadar-aghaidh cleachdaiche Flutter 2.8 a thaisbeanadh, a tha air a mheas mar roghainn eile an àite React Native agus a leigeas, stèidhichte air aon bhunait còd, tagraidhean a leigeil ma sgaoil airson an iOS, Android, Windows, macOS agus Àrd-ùrlaran Linux, a bharrachd air tagraidhean a chruthachadh airson ruith ann am brobhsairean. Tha slige àbhaisteach airson siostam obrachaidh microkernel Fuchsia air a leasachadh le Google air a thogail air bunait Flutter. Thathas a’ toirt fa-near, thairis air na sia mìosan a dh’ fhalbh, gu bheil an àireamh de thagraidhean Flutter 2 ann an Google Play Store air a dhol suas bho 200 mìle gu 375 mìle, i.e. cha mhòr dà uair.

Tha am prìomh phàirt den chòd Flutter air a chuir an gnìomh anns a’ chànan Dart, agus tha an einnsean ùine ruith airson tagraidhean a chuir an gnìomh sgrìobhte ann an C ++. Nuair a bhios tu a’ leasachadh thagraidhean, a bharrachd air a’ chànan Dart dùthchasach aig Flutter, faodaidh tu an eadar-aghaidh Dart Foreign Function a chleachdadh gus còd C / C ++ a ghairm. Tha coileanadh àrd air a choileanadh le bhith a 'cur ri chèile iarrtasan gu còd dùthchasach airson àrd-ùrlaran targaid. Anns a 'chùis seo, chan fheum am prògram a bhith air ath-chruinneachadh às deidh gach atharrachadh - tha Dart a' toirt seachad modh ath-luchdachadh teth a leigeas leat atharrachaidhean a dhèanamh air tagradh ruith agus measadh a dhèanamh air an toradh sa bhad.

Am measg nan atharrachaidhean anns an fhoillseachadh ùr de Flutter, thathas a’ toirt fa-near gu bheil an ìre as fheàrr de astar cur air bhog agus caitheamh cuimhne air innealan gluasadach. Tha e nas fhasa aplacaidean a cheangal ri seirbheisean backend leithid Firebase agus Google Cloud. Tha innealan airson amalachadh le Google Ads air an socrachadh. Tha taic airson camarathan agus plugins lìn air a leasachadh gu mòr. Chaidh innealan ùra a mholadh gus leasachadh a dhèanamh nas sìmplidhe, mar eisimpleir, chaidh widget a chuir ris airson dearbhadh a’ cleachdadh Firebase. Chaidh an einnsean lasair, a chaidh a dhealbhadh airson geamannan 2D a leasachadh a’ cleachdadh Flutter, ùrachadh.

Source: fosgailtenet.ru

Cuir beachd ann