Dart 2.15 gagana fa'apolokalame ma le Flutter 2.8 fa'ava'a avanoa

Google ua lomia le tatalaina o le Dart 2.15 gagana polokalame, lea e faaauau pea le atinae o se radically redesigned Dart 2 lala, lea e ese mai le uluai lomiga o le gagana Dart i le faaaogaina o le malosi static typing (ituaiga e mafai ona otometi ona manatu, o lea e faamaoti mai. e le'o mana'omia ituaiga, ae e le o toe fa'aogaina le ta'i malosi ma o le fa'atusatusaga muamua o le ituaiga e tu'uina atu i le fesuiaiga ma fa'atonuina le siakiina o le ituaiga).

Vaega o le gagana Dart:

  • Fa'asologa masani ma faigofie ona a'oa'oina, fa'anatura mo tagata fai polokalame JavaScript, C ma Java.
  • Faʻamautinoa le faʻalauiloaina vave ma le maualuga o faʻatinoga mo suʻesuʻega uma i luga o le upega tafaʻilagi faʻaonapo nei ma ituaiga eseese o siʻosiʻomaga, mai masini feaveaʻi i 'auʻaunaga mamana.
  • Le mafai ona faʻamalamalamaina vasega ma fesoʻotaʻiga e mafai ai ona faʻapipiʻi ma toe faʻaaogaina auala ma faʻamatalaga o loʻo iai.
  • O le fa'ama'otiina o ituaiga e fa'afaigofie ai le debug ma fa'ailoa mea sese, fa'amanino atili le fa'ailoga ma sili atu ona mafai ona faitau, ma fa'afaigofieina lona suiga ma au'ili'ili e le au atina'e lona tolu.
  • Ituaiga lagolago e aofia ai: ituaiga eseese o hashes, arrays ma lisi, queues, numera ma manoa ituaiga, ituaiga mo le fuafuaina o le aso ma le taimi, faʻamatalaga masani (RegExp). E mafai ona fai a oe lava ituaiga.
  • Ina ia faʻatulagaina le faʻatinoga tutusa, ua fautuaina e faʻaoga vasega faʻatasi ai ma le uiga tuʻufua, o le code lea e faʻatinoina atoa i le vaʻavaʻa ese i se isi nofoaga manatua, fegalegaleai ma le faiga autu e ala i le lafoina o feʻau.
  • Lagolago mo le faʻaogaina o faletusi e faʻafaigofie ai le lagolago ma le faʻaogaina o galuega tetele i luga ole laiga. O fa'atinoga fa'atino a vaega lona tolu e mafai ona fa'aaofia i le faiga o faletusi fa'asoa. O talosaga e mafai ona vaevaeina i ni vaega ma tuʻuina atu le atinaʻeina o vaega taʻitasi i se vaega eseese o tagata fai polokalame.
  • O se seti o meafaigaluega ua saunia e lagolago ai le atinaʻe i le gagana Dart, e aofia ai le faʻatinoina o le atinaʻe malosi ma le faʻaogaina o meafaigaluega faʻatasi ai ma le faʻasaʻoina o tulafono i luga o le lele ("faʻasaʻo-ma-faʻaauau").
  • Ina ia faafaigofieina le atinae i le gagana Dart, e sau ma se SDK, se pusa pule pusa, se static code analyzer dart_analyzer, se seti o faletusi, se siosiomaga atinae tuufaatasia DartPad ma Dart-enabled plugins mo IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 ma Vim.
  • O isi afifi faʻatasi ma faletusi ma mea aoga e tufatufa atu i le fale faʻatau oloa, lea e tusa ma le 22 afe afifi.

Suiga tetele i le faʻasalalauga Dart 2.15:

  • Tuuina atu meafaigaluega mo le faʻatinoina vave o galuega faʻatasi ma le faʻaesea o tagata faʻatau. I luga o le tele-core system, o le Dart runtime e ala i le le mafai ona faʻaogaina le numera o talosaga i luga o le tasi CPU core ma faʻaoga isi 'au e fai ai galuega faʻaoga e pei ole asynchronous I/O, tusitusi i faila, poʻo le faia o fesoʻotaʻiga telefoni. Mo talosaga e manaʻomia le faʻatinoina o latou faʻatautaia tutusa, mo se faʻataʻitaʻiga, e tuʻuina atu le faʻafiafiaga i totonu o le atinaʻe, e mafai ona faʻalauiloa poloka eseese o le code (faʻaesea), vavae ese mai le tasi ma le isi ma faʻatino i luga o isi CPU cores i le taimi e tasi ma le filo talosaga autu. . Ina ia puipuia mai mea sese e tulaʻi mai pe a faʻaogaina faʻatasi le code faʻatasi ma le seti tutusa o faʻamaumauga, o le faʻasoaina o mea e mafai ona suia i poloka vavae ese e faʻasaina, ma e faʻaaogaina se faʻataʻitaʻiga feʻau mo fegalegaleaiga i le va o tagata faʻatautaia.

    Dart 2.15 fa'alauiloa se manatu fou - va'aiga poloka poloka (vaega tu'ufua), lea e fa'ataga ai oe e fa'atulaga avanoa fa'asoa i fa'amaumauga fa'alotoifale eseese i poloka tu'ufua o se vaega o le kulupu lava e tasi, lea e mafai ona fa'aitiitia fa'aitiitiga i luga pe a fegalegaleai i le va o tagata fa'afoe i se vaega. . Mo se faʻataʻitaʻiga, o le faʻalauiloaina o se poloka faʻapitoa faʻaopoopo i totonu o se vaega o loʻo i ai nei e 100 taimi vave ma e manaʻomia ai le 10-100 taimi e itiiti ifo le manatua nai lo le faʻalauiloaina o se poloka vavae ese, ona o le faʻaumatiaina o le manaʻoga e amata faʻatulagaina faʻamaumauga o polokalame.

    E ui lava i le mea moni o poloka vavae i totonu o se vaega o loʻo faʻasaina pea le fefaʻasoaaʻi o mea e mafai ona suia, e faʻaogaina e kulupu se faʻaputuga manatua, lea e mafai ona faʻavavevaveina le fesiitaiga o mea mai le tasi poloka i le isi e aunoa ma le manaʻomia o le faʻatinoina o faʻagaioiga kopi malosi. O le lomiga fou e mafai ai foi ona e pasia le taunuuga o le tagata e faʻaaogaina pe a valaʻau Isolate.exit() e faʻafeiloaʻi faʻamatalaga i le matua poloka poloka e aunoa ma le kopiina o gaioiga. E le gata i lea, o le faiga o fe'au fe'avea'i ua fa'asilisiliina - o fe'au laiti ma feololo ua fa'agasolo nei e tusa ma le 8 taimi vave. O mea faitino e mafai ona pasia i le va o faʻaesea e faʻaaoga ai le SendPort.send() valaau e aofia ai nisi o ituaiga o galuega, tapuni, ma faʻamaufaʻailoga.

  • I meafaigaluega mo le fatuina o faʻailoga i galuega taʻitasi i isi mea (sae-off), faʻatapulaʻaina le faia o faʻailoga tutusa i le faufale code ua aveesea, lea e mafai ona aoga pe a fausia fesoʻotaʻiga e faʻavae i luga o le faletusi Flutter. Mo se fa'ata'ita'iga, e fai se widget Column e aofia ai le tele o widget Text, e mafai ona e vala'au le ".map()" ma fa'asolo fa'asino ile Text.new constructor of the Text object: class FruitWidget extends StatelessWidget { @override Widget build(BuildContext context) { toe faafoi Column( fanau: ['Apple', 'Orange'].map(Text.new).toList()); }}
  • O avanoa e fesoʻotaʻi ma le faʻaogaina o faʻamatalaga o galuega ua faʻalauteleina. Faʻaopoopo le tomai e faʻaoga ai metotia lautele ma faʻamatalaga o galuega e fatu ai se auala e le masani ma faʻailoga: T id (T value) => tau; var intId = id ; // faatagaina i le version 2.15 nai lo le "int Function(int) intId = id;" const fo = id; // pointer e galue id. const c1 = fo ;
  • O le dart:core library ua faʻaleleia atili le lagolago mo enums, mo se faʻataʻitaʻiga, e mafai nei ona e faʻapipiʻiina se manoa taua mai tau enum taʻitasi e faʻaaoga ai le ".name" metotia, filifili tau i le igoa, poʻo le fetaui ma paʻu o tau: enum MyEnum { tasi , lua, tolu } void main() {print(MyEnum.one.name); // "tasi" o le a lolomi. print(MyEnum.values.byName('two') == MyEnum.two); // "moni" o le a lolomi. fa'afanua mulimuli = MyEnum.values.asNameMap(); lolomi(faafanua['tolu'] == MyEnum.three); // "moni". }
  • Ua fa'atinoina se faiga fa'apipi'i fa'asino e mafai ai ona fa'aogaina se fa'atusa sili atu o fa'ailoga i totonu ole si'osi'omaga 64-bit pe afai e lava le avanoa ole tuatusi 32-bit mo le fa'atalanoaina (e le sili atu i le 4 GB ole manatua e fa'aoga). O su'ega ua fa'aalia ai o ia fa'ata'ita'iga e mafai ai ona fa'aitiitia le fa'aputuga e tusa ma le 10%. I le Flutter SDK, o le faiga fou ua uma ona mafai mo le Android e ala i le faaletonu, ma ua fuafua e mafai mo iOS i se faʻasalalauga i le lumanaʻi.
  • O le Dart SDK e aofia ai meafaigaluega mo le faʻaogaina ma le suʻesuʻeina o faʻatinoga (DevTools), lea na tuʻuina atu muamua i se isi afifi.
  • O meafaigaluega ua faʻaopoopoina i le "dart pub" faʻatonuga ma le pub.dev package repository e siaki ai le faʻasalalau faʻafuaseʻi o faʻamatalaga faʻalilolilo, mo se faʻataʻitaʻiga, tuʻu faʻamaonia mo faiga faʻapipiʻi faifaipea ma siosiomaga ao i totonu o le afifi. Afai e maua ia liki, o le faʻatinoina o le faʻatonuga o le "dart pub publish" o le a faʻalavelaveina i se feʻau sese. Afai sa i ai se mea sese, e mafai ona pasia le siaki e ala i se lisi paʻepaʻe.
  • Le mafai ona fa'aleaogaina se lomiga ua uma ona fa'asalalauina o se afifi ua fa'aopoopoina i le faleteuoloa pub.dev, mo se fa'ata'ita'iga, pe a maua ni mea sese mata'utia po'o ni fa'aletonu. I le taimi muamua, mo ia faʻasaʻoga, o le faʻataʻitaʻiga o le lolomiina o se faʻasaʻoga faʻasaʻo, ae i nisi tulaga e tatau ona faʻaleaogaina le faʻasalalauga o loʻo i ai nei ma faʻanatinati le toe faʻasalalau atili (mo se faʻataʻitaʻiga, pe afai e leʻi saunia le faʻasaʻoga pe afai o se faʻasalalauga atoa ua lomia fa'alilolilo nai lo se fa'ata'ita'iga). A maeʻa le soloia, e le o toe faʻaalia le afifi i le "pub get" ma le "pub upgrade" poloaiga, ma i luga o faiga ua uma ona faʻapipiʻiina, e tuʻuina atu se lapataiga faʻapitoa i le isi taimi e faʻatino ai le "pub get".
  • Fa'aopoopo le puipuiga mai se fa'aletonu (CVE-2021-22567) e mafua mai i le fa'aogaina o mataitusi unicode i le fa'ailoga e suia ai le fa'asologa o fa'aaliga.
  • Fa'amauina se fa'aletonu (CVE-2021-22568) e fa'ataga ai oe e fa'afoliga i se isi tagata fa'aoga pub.dev pe a lolomi afifi i se 'au'aunaga lona tolu e talia pub.dev oauth2 fa'ailoga avanoa. Mo se faʻataʻitaʻiga, e mafai ona faʻaogaina le faʻafitauli e osofaʻia ai 'auʻaunaga afifi i totonu ma kamupani. O tagata atiaʻe e naʻo faʻafeiloaʻi afifi ile pub.dev e le afaina i lenei mataupu.

I le taimi lava e tasi, na tuʻuina atu ai se faʻasalalauga taua o le faʻaogaina o fesoʻotaʻiga faʻaoga Flutter 2.8, lea e manatu o se isi mea i le React Native ma faʻatagaina, e faʻavae i luga o se tasi faʻavae code, e faʻasaʻo ai talosaga mo iOS, Android, Windows, macOS ma. Linux platforms, faʻapea foʻi ma le fatuina o talosaga e faʻatautaia i suʻesuʻega. O se atigi masani mo le Fuchsia microkernel operating system na fausia e Google ua fausia i luga o le faavae ole Flutter. Ua maitauina i le ono masina talu ai, o le numera o talosaga Flutter 2 i le Google Play Store ua siitia mai le 200 afe i le 375 afe, i.e. toeititi faalua.

O le vaega autu o le Flutter code o loʻo faʻatinoina i le gagana Dart, ma o le taʻavale afi mo le faʻatinoina o talosaga o loʻo tusia i le C ++. A atia'e talosaga, fa'aopoopo i le gagana Dart a Flutter, e mafai ona e fa'aogaina le Dart Foreign Function interface e vala'au ai le C/C++ code. E maua le fa'atinoga maualuga e ala i le tu'ufa'atasia o tusi talosaga i le tulafono fa'ale-aganu'u mo tulaga fa'atatau. I lenei tulaga, e le manaʻomia le toe faʻapipiʻiina o le polokalame pe a maeʻa suiga taʻitasi - Dart e tuʻuina atu se faiga vevela vevela lea e mafai ai ona e faia suiga i se talosaga faʻaoga ma vave iloilo le taunuuga.

Faatasi ai ma suiga i le faʻasalalauga fou o Flutter, o loʻo maitauina le faʻaleleia o le saoasaoa o le faʻalauiloaina ma le mafaufau i luga o masini feaveaʻi. E faigofie ona fa'afeso'ota'i polokalame i 'au'aunaga pito i tua e pei ole Firebase ma Google Cloud. Meafaigaluega mo le tuʻufaʻatasia ma Google Ads ua faʻamautuina. Lagolago mo meapueata ma upega tafaʻilagi ua matua faʻaleleia. O meafaigaluega fou ua tuʻuina atu e faʻafaigofie ai le atinaʻe, mo se faʻataʻitaʻiga, ua faʻaopoopoina se widget mo le faʻamaoni e faʻaaoga ai le Firebase. O le afi afi, ua mamanuina mo le atinaʻeina o taaloga 2D e faʻaaoga ai le Flutter, ua faʻafouina.

puna: opennet.ru

Faaopoopo i ai se faamatalaga