Asụsụ mmemme Dart 2.15 yana usoro Flutter 2.8 dị

Google ebipụtala ntọhapụ nke asụsụ mmemme Dart 2.15, nke na-aga n'ihu na mmepe nke ngalaba Dart 2 emezigharịrị nke ukwuu, nke dị iche na ụdị mbụ nke asụsụ Dart na iji akara ederede siri ike (ụdị nwere ike ịchọta ya na-akpaghị aka, ya mere ịkọwapụta). ụdị adịghị mkpa, mana a naghịzi eji mpịnye ike na-eme ihe yana ngụkọ mbụ ka ekenye ụdị ahụ na mgbanwe na ụdị nlele siri ike mechaa tinye ya).

Njirimara nke asụsụ Dart:

  • Amụma ma dị mfe ịmụta syntax, eke maka Javascript, C na Java programmers.
  • N'ịhụ na mwepụta ngwa ngwa na arụmọrụ dị elu maka ihe nchọgharị weebụ ọgbara ọhụrụ na ụdị gburugburu dị iche iche, site na ngwaọrụ mkpanaka ruo na sava dị ike.
  • Ikike nke ịkọwa klaasị na oghere ndị na-enye ohere ka encapsulation na iji ụzọ na data dị adị.
  • Ịkọwapụta ụdị na-eme ka ọ dị mfe ịmegharị na ịchọpụta mmejọ, na-eme ka koodu ahụ doo anya na nke a na-agụ, na-eme ka mgbanwe na nyocha ya dị mfe site n'aka ndị mmepe nke atọ.
  • Ụdị akwadoro gụnyere: ụdị hashes dị iche iche, nhazi na ndepụta, kwụ n'ahịrị, ọnụọgụ na ụdị eriri, ụdị maka ikpebi ụbọchị na oge, okwu oge niile (RegExp). Ọ ga-ekwe omume ịmepụta ụdị nke gị.
  • Iji hazie ogbugbu ndị yiri ya, a na-atụ aro iji klaasị nwere àgwà dịpụrụ adịpụ, koodu nke a na-eme kpamkpam na oghere dịpụrụ adịpụ na mpaghara ebe nchekwa dị iche, na-emekọrịta ihe na isi usoro site na izipu ozi.
  • Nkwado maka iji ụlọ akwụkwọ ndị na-eme ka nkwado na nkwụsị nke nnukwu ọrụ weebụ dị mfe. Enwere ike itinye mmejuputa mmemme nke ndị ọzọ n'ụdị ọba akwụkwọ nkekọrịta. Enwere ike kewaa ngwa n'ime akụkụ ma nyefee mmepe nke akụkụ ọ bụla n'aka ndị otu mmemme dị iche iche.
  • Otu ngwaọrụ ejikere eji akwado mmepe n'asụsụ Dart, gụnyere mmejuputa mmepe dị ike na ngwaọrụ debugging na koodu mgbazi na ofufe ("edit-and-continue").
  • Iji mee ka mmepe dị mfe n'asụsụ Dart, ọ na-abịa na SDK, ụlọ mmanya njikwa ngwugwu, ihe nyocha koodu static dart_analyzer, otu ọba akwụkwọ, gburugburu mmepe DartPad na Dart-enabled plugins maka IntelliJ IDEA, WebStorm, Emacs, Ederede dị elu. 2 na Vim.
  • A na-ekesa ngwugwu ndị ọzọ nwere ọba akwụkwọ na ihe ndị dị mkpa site na ebe nchekwa ụlọ mmanya, nke nwere ihe dịka 22 puku ngwugwu.

Nnukwu mgbanwe na ntọhapụ Dart 2.15:

  • Na-enye ngwaọrụ maka mmezu ngwa ngwa yiri nke ọrụ na ikewapụ ndị njikwa. Na sistemụ ọtụtụ isi, oge Dart na ndabara na-agba koodu ngwa n'otu isi CPU ma na-eji cores ndị ọzọ rụọ ọrụ sistemu dị ka I/O asynchronous, ide na faịlụ, ma ọ bụ ịkpọ netwọkụ. Maka ngwa ndị chọrọ igbu ndị na-ahụ maka ha n'otu oge, dịka ọmụmaatụ, iji mee animation na interface ahụ, ọ ga-ekwe omume ịmalite koodu blocks dị iche iche (iche), kewapụrụ onwe ya ma gbuo na cores CPU ndị ọzọ n'otu oge na eri ngwa ngwa. . Iji chebe megide njehie na-ebilite mgbe mmezu nke koodu na-arụ ọrụ n'otu oge na-arụ ọrụ na otu data ahụ, amachibidoro ikekọrịta ihe na-agbanwe agbanwe na mgbochi dịpụrụ adịpụ, a na-eji usoro ngafe ozi maka mmekọrịta n'etiti ndị njikwa.

    Dart 2.15 na-ewebata echiche ọhụrụ - ndị otu mgbochi dịpụrụ adịpụ (otu ndị dịpụrụ adịpụ), nke na-enye gị ohere ịhazi ohere ịnweta ụdị data dị iche iche n'ime oghere dịpụrụ adịpụ nke bụ akụkụ nke otu otu, nke nwere ike belata oke elu mgbe ị na-emekọrịta ihe n'etiti ndị na-ahụ maka otu. . Dịka ọmụmaatụ, ịmalite mgbakwunye mgbochi ọzọ n'ime otu dị adị bụ 100 ngwa ngwa ma na-achọ 10-100 ugboro obere ebe nchekwa karịa ịmalite ngọngọ dịpụrụ adịpụ, n'ihi nkwụsị nke mkpa ịmalite usoro data mmemme.

    N'agbanyeghị eziokwu na ndị dịpụrụ adịpụ blocks na otu ka na-amachibidoro òkè ohere mutable ihe, otu na-eji a na-akọrọ ikpo okwu ebe nchekwa, nke nwere ike budata ọsọ nyefe nke ihe site n'otu ngọngọ ọzọ na-enweghị mkpa ịrụ akụ-akpa ike oyiri ọrụ. Ụdị ọhụrụ ahụ na-enyekwa gị ohere ịgafe nsonaazụ onye njikwa mgbe ị na-akpọ Isolate.exit() iji nyefee data na ngọngọ ndị nne na nna na-enweghị iṅomi ọrụ. Na mgbakwunye, emeziwanye usoro mgbasa ozi ozi - a na-ahazi ozi obere na obere ozi ihe dịka ugboro asatọ ngwa ngwa. Ihe enwere ike ibufe n'etiti ndị dịpụrụ adịpụ site na iji SendPort.send() oku gụnyere ụfọdụ ụdị ọrụ, mmechi, na nchikota akara.

  • N'ime ngwaọrụ maka ịmepụta ndị na-egosi ọrụ ndị mmadụ n'otu n'otu na ihe ndị ọzọ (akwa-apụ), ewepụla ihe mgbochi na ịmepụta ihe atụ ndị yiri ya na koodu nrụpụta, nke nwere ike ịba uru mgbe ị na-ewu ihe ntanetị dabere na ọbá akwụkwọ Flutter. Dịka ọmụmaatụ, iji mepụta wijetị kọlụm nke gụnyere ọtụtụ wijetị ederede, ị nwere ike ịkpọ ".map()" wee nyefee ihe ntụnye aka na Text.new na-emepụta ihe ederede: klaasị FruitWidget gbatịrị StatelessWidget {@override Widget build(BuildContext context) {laghachite kọlụm (ụmụaka: ['Apple', 'Orange'].map (Text.new).toList()); } }
  • A gbasaala ohere ndị metụtara iji nrịbama ọrụ. Agbakwunyere ike iji usoro ọnyà yana nrụtụ ọrụ iji mepụta usoro na-abụghị nke ọnyà na ntụnye: T id (T uru) => uru; var intId = id ; // kwere na ụdị 2.15 kama "int Function(int) intId = id;" const fo = id; // pointer to function id. const c1 = fo ;
  • The dart:core Library akwalitela nkwado maka ọnụọgụgụ, dịka ọmụmaatụ, ị nwere ike wepụta uru eriri site na uru ọnụọgụ ọ bụla site na iji usoro ".name", họrọ ụkpụrụ n'aha, ma ọ bụ dakọtara ụzọ abụọ nke ụkpụrụ: enum MyEnum {otu , abụọ, atọ} isi ihe efu () {bipụta (MyEnum.one.name); // A ga-ebipụta "otu". ebipụta (MyEnum.values.byAha('abụọ') == MyEnum.abụọ); // "Eziokwu" ga-ebipụta. map ikpeazụ = MyEnum.values.asNameMap (); ebipụta (map['atọ'] == MyEnum. atọ); // "eziokwu". }
  • Emejuputala usoro mkpakọ pointer nke na-enye ohere iji nnochite anya ihe nrịbama dị na gburugburu 64-bit ma ọ bụrụ na oghere adreesị 32-bit zuru ezu maka ikwu okwu (ọ dịghị ihe karịrị 4 GB nke ebe nchekwa na-eji). Nnwale egosiwo na njikarịcha dị otú ahụ na-eme ka o kwe omume ibelata nha nke ikpo ihe dịka 10%. Na Flutter SDK, agbanyerelarị ụdị ọhụrụ a maka gam akporo site na ndabara, ma ezubere ka enyere ya maka iOS na mwepụta n'ọdịnihu.
  • Dart SDK gụnyere ngwaọrụ maka nbipu na nyocha arụmọrụ (DevTools), nke ewetere na mbụ na ngwugwu dị iche.
  • E tinyela ngwaọrụ na iwu "dart pub" na ebe nchekwa ngwugwu pub.dev iji soro mbipụta mberede nke ozi nzuzo, dịka ọmụmaatụ, na-ahapụ nzere maka usoro ntinye aka na-aga n'ihu na gburugburu igwe ojii n'ime ngwugwu. Ọ bụrụ na achọpụtara ntapu dị otú ahụ, a ga-eji ozi njehie kwụsị mmezu nke "dart pub publish" iwu. Ọ bụrụ na enwere ihe dị mma, ọ ga-ekwe omume ịgafe nlele ahụ site na ndepụta ọcha.
  • Agbakwunyela ikike ịkagbu ụdị ngwugwu ebipụtalarị na ebe nchekwa pub.dev, dịka ọmụmaatụ, ọ bụrụ na achọpụtara njehie ma ọ bụ adịghị ike dị ize ndụ. Na mbụ, maka mgbazi ndị dị otú ahụ, omume bụ ibipụta nsụgharị mmezi, ma n'ọnọdụ ụfọdụ ọ dị mkpa ka ịkagbu ntọhapụ dị ugbu a ma kwụsị ngwa ngwa kwụsị nkesa ya ọzọ (dịka ọmụmaatụ, ọ bụrụ na mgbazi ahụ erubeghị ma ọ bụ ma ọ bụrụ na ntọhapụ zuru ezu bụ. ebipụtara site n'amaghị ama kama ụdị nnwale). Mgbe a kagbuchara, a naghị amata ngwugwu ahụ na iwu "pub get" na "pub upgrade", na sistemụ arụnyerela ya, a na-enye ịdọ aka ná ntị pụrụ iche n'oge ọzọ a ga-eme "ụlọ mmanya nweta".
  • Nchekwa agbakwunyere megide adịghị ike (CVE-2021-22567) kpatara site na iji mkpụrụedemede unicode na koodu na-agbanwe usoro ngosi.
  • Edobere adịghị ike (CVE-2021-22568) nke na-enye gị ohere iṅomi onye ọrụ pub.dev ọzọ mgbe ị na-ebipụta ngwugwu na sava ndị ọzọ na-anabata pub.dev oauth2 nweta tokens. Dịka ọmụmaatụ, enwere ike iji adịghị ike ahụ wakpo sava ngwungwu ime na ụlọọrụ. Okwu a emetụtaghị ndị nrụpụta na-akwado naanị ngwugwu na pub.dev.

N'otu oge ahụ, ewepụtara ntọhapụ dị ịrịba ama nke Flutter 2.8 interface onye ọrụ, nke a na-ewere dị ka ihe ọzọ maka React Native ma na-enye ohere, dabere na otu koodu isi, ịhapụ ngwa maka iOS, Android, Windows, macOS na nyiwe Linux, yana mepụta ngwa iji na-agba ọsọ na ihe nchọgharị. A na-ewu shei omenala maka Fuchsia microkernel sistemụ arụmọrụ Google mepụtara na ndabere nke Flutter. A na-achọpụta na n'ime ọnwa isii gara aga, ọnụ ọgụgụ nke ngwa Flutter 2 na Ụlọ Ahịa Google abawanyela site na 200 puku ruo 375 puku, i.e. fọrọ nke nta ka ugboro abụọ.

Isi akụkụ nke koodu Flutter na-emejuputa atumatu n'asụsụ Dart, a na-edekwa engine oge maka ime ngwa na C++. Mgbe ị na-emepụta ngwa, na mgbakwunye na asụsụ Dart nke Flutter, ị nwere ike iji Dart Foreign Function interface ịkpọ C/C++ koodu. A na-enweta arụmọrụ dị elu site n'ịchịkọta ngwa na koodu obodo maka nyiwe ebumnuche. N'okwu a, mmemme ahụ adịghị mkpa ka a chịkọtaghachi ya mgbe mgbanwe ọ bụla - Dart na-enye ọnọdụ ntinye ọkụ na-ekpo ọkụ nke na-enye gị ohere ime mgbanwe na ngwa na-agba ọsọ ma nyochaa nsonaazụ ozugbo.

N'ime mgbanwe ndị dị na ntọhapụ ọhụrụ nke Flutter, a na-ahụta njikarịcha ọsọ mmalite na oriri ebe nchekwa na ngwaọrụ mkpanaka. Ọ dị mfe ijikọ ngwa na ọrụ ndabere dị ka Firebase na Google Cloud. Ngwa maka ijikọ na Mgbasa ozi Google kwụsie ike. Nkwado maka igwefoto na plugins webụ ka emelitere nke ọma. Atụpụtala ngwaọrụ ọhụrụ iji mee ka mmepe dị mfe, dịka ọmụmaatụ, etinyela wijetị maka nyocha site na iji Firebase. Emelitela injin ọkụ, nke emere maka imepụta egwuregwu 2D site na iji Flutter.

isi: opennet.ru

Tinye a comment