Puo ea Dart 2.14 le moralo oa Flutter 2.5 o teng

Google e phatlalalitse tokollo ea puo ea lenaneo la Dart 2.14, e tsoelang pele nts'etsopele ea lekala le hlophisitsoeng bocha la Dart 2, le fapaneng le mofuta oa pele oa puo ea Dart ts'ebelisong ea mofuta o matla oa ho thaepa (mefuta e ka hlalosoa ka bo eona, ka hona mefuta ha e hlokahale, empa ho thaepa ka matla ha ho sa sebelisoa 'me palo ea pele ea mofuta o abeloa ho feto-fetoha le tlhahlobo e tiileng ea mofuta o sebelisoang hamorao).

Likarolo tsa puo ea Dart:

  • Syntax e tsebahalang ebile e bonolo ho ithuta, ea tlhaho bakeng sa baetsi ba mananeo ba JavaScript, C le Java.
  • Ho netefatsa ho qala ka potlako le ts'ebetso e phahameng bakeng sa libatli tsohle tsa sejoale-joale tsa marang-rang le mefuta e fapaneng ea tikoloho, ho tloha ho lisebelisoa tse nkehang ho isa ho li-server tse matla.
  • Bokhoni ba ho hlalosa lihlopha le li-interfaces tse lumellang ho kenyelletsa le ho sebelisa mekhoa e teng le data hape.
  • Ho hlakisa mefuta ho etsa hore ho be bonolo ho lokisa liphoso le ho tseba liphoso, ho etsa hore khoutu e hlake haholoanyane, e balehe haholoanyane, 'me e nolofatsa tokiso le tlhahlobo ea eona ke bahlahisi ba mokha oa boraro.
  • Mefuta e tšehetsoeng e kenyelletsa: mefuta e fapaneng ea li-hashes, lihlopha le manane, mela, mefuta ea linomoro le likhoele, mefuta ea ho khetholla letsatsi le nako, lipolelo tse tloaelehileng (RegExp). Hoa khoneha ho iketsetsa mefuta ea hau.
  • Ho hlophisa ts'ebetso e ts'oanang, ho khothaletsoa ho sebelisa litlelase tse nang le tšobotsi e ikhethileng, khoutu ea eona e phethisoa ka ho felletseng sebakeng se ka thoko sebakeng se arohaneng sa mohopolo, ho sebelisana le ts'ebetso ea mantlha ka ho romella melaetsa.
  • Ts'ehetso ea ts'ebeliso ea lilaebrari tse nolofatsang ts'ehetso le ho lokisa liphoso tsa merero e meholo ea webo. Ts'ebetsong ea mekhatlo ea boraro ea mesebetsi e ka kenyelletsoa ka mokhoa oa lilaebrari tse arolelanoang. Likopo li ka aroloa ka likarolo ebe li beha nts'etsopele ea karolo ka 'ngoe ho sehlopha se ikemetseng sa baetsi ba mananeo.
  • Sehlopha sa lisebelisoa tse lokiselitsoeng ho ts'ehetsa nts'etsopele ea puo ea Dart, ho kenyeletsoa ts'ebetsong ea ntlafatso e matla le lisebelisoa tsa ho lokisa liphoso ka tokiso ea khoutu hang-hang ("edit-and-continue").
  • Ho nolofatsa nts'etsopele ea puo ea Dart, e tla le SDK, pub ea mookameli oa sephutheloana, static code analyzer dart_analyzer, sete ea lilaebrari, tikoloho e kopaneng ea nts'etsopele ea DartPad le li-plugins tse nolofalitsoeng ke Dart tsa IntelliJ IDEA, WebStorm, Emacs, Sublime Text. 2 le Vim.
  • Liphutheloana tse ling tse nang le lilaeborari le lits'ebeletso li ajoa ka pokello ea libuka, e nang le liphutheloana tse fetang likete tse 20.

Liphetoho tse kholo tokollong ea Dart 2.14:

  • Ho kentsoe opareitara e ncha ea triple shift (>>>), eo, ho fapana le ">>” opareitara, e sa sebetseng lipalo, empa phetoho e sebetsang ntle le ho ela hloko letšoao la letšoao (phetoho e etsoa ntle le ho aroloa dinomoro tse ntle le tse mpe).
  • E tlositse lithibelo holim'a likhang tsa mofuta tse neng li thibela mefuta ea ts'ebetso e akaretsang ho sebelisoa joalo ka khang. Mohlala, joale o ka hlakisa: Lethathamo la morao (T)>idFunctions; ka callback = [ (T boleng) => boleng]; morao S Mosebetsi (T)>(S) f;
  • Dumella ho hlakisa mabaka ka mefuta ya ditlhaloso tse kang @Deprecated. Mohlala, joale o ka hlakisa: @TypeHelper (42, "Moelelo")
  • Mekhoa e tsitsitseng hash, hashAll le hashAllUnordered e kentsoe laebraring e tloaelehileng (konokono) sehlopheng sa Ntho. Sehlopha sa DateTime se ntlafalitse ho sebetsana le nako ea lehae ha ho fetola lioache lipakeng tsa lehlabula le nako ea mariha tse sa arohaneng ka hora e le 'ngoe (mohlala, Australia ho sebelisoa offset ea metsotso e 30). Sephutheloana sa ffi se ekelitse ts'ehetso bakeng sa mochini oa kabo ea memori ea arena, o lokollang lisebelisoa ka bohona. Sephutheloana sa ffigen se kentse bokhoni ba ho hlahisa litlhaloso tsa typedef tsa mefuta ea Dart ho tsoa puong ea C.
  • Liphutheloana tse 250 tse tummeng ka ho fetisisa tse tsoang polokelong ea pub.dev le 94% ea top-1000 li fetotsoe ho sebelisa mokhoa oa "null Safety", o tla qoba likotsi tse bakoang ke boiteko ba ho sebelisa mefuta-futa eo boleng ba eona bo sa hlalosoang le ho behoa ho "Null". ” " Mokhoa o fana ka maikutlo a hore mefuta e ke ke ea ba le boleng ba lefeela ntle le haeba e abetsoe ka ho hlaka boleng ba lefeela. Mokhoa o hlompha ka thata mefuta e fapaneng, e lumellang moqapi ho sebelisa lintlafatso tse eketsehileng. Ho lumellana ha mofuta ho hlahlojoa ka nako ea ho bokella, mohlala, haeba u leka ho fana ka boleng ba "Null" ho feto-fetoha ka mofuta o sa boleleng boemo bo sa hlalosoang, joalo ka "int", phoso e tla bontšoa.
  • Lihlopha tse kopaneng tsa melao bakeng sa analyzer ea khoutu (linter) li sisinngoe, ho fana ka ts'ehetso e ts'oanang bakeng sa ho hlahloba ho latela melaoana ea setaele sa khoutu bakeng sa Dart le moralo oa Flutter. Bakeng sa mabaka a nalane, melao ea likhoutu bakeng sa Flutter le Dart e ne e fapane, ho ekelletsa moo, bakeng sa Dart ho ne ho e-na le lihlopha tse peli tsa melao e sebelisoang - ea pedantic e tsoang ho Google le melao e tsoang sechabeng sa bahlahisi ba Dart. Dart 2.14 e hlahisa melao e ncha e tloaelehileng bakeng sa linter, e entsoeng qeto ea hore e sebelisoe ka ho sa feleng mererong e mecha ea Dart le ho Flutter SDK. Sehlopha se kenyelletsa melao ea mantlha (lints/core.yaml package), melaoana e khothaletsoang (lints/recommended.yaml), le likhothaletso tse ikhethileng ka Flutter (flutter_lints/flutter.yaml). Basebelisi ba melao ea pedantic ba eletsoa ho fetohela ho sebelisa mokhoa o mocha oa ho khouta ho latela likhothaletso tse tsoang litokomaneng tsa Dart.
  • Ka mokhoa oa ho fometa, lintlafatso li entsoe mabapi le ho hlophisoa ha li-code tsa cascading, tse ka ntlafatsang haholo ts'ebetso ea ho fometa le ho qoba tlhaloso e sa hlakang ea botho ba likarolo tsa polelo. Mohlala, ho bitsa "..doIt" polelong e reng "var result = errorState ? foo : bad..doIt()" ha e ame karolo ea maemo a "bad" block, empa polelo eohle, kahoo ha e fometa e se e arohane: var result = errorState ? foo : mpe ..doIt();
  • Ts'ehetso bakeng sa li-processor tsa Apple M1 (Silicon) e kentsoe ho SDK, e bolelang bokhoni ba ho tsamaisa Dart VM, lisebelisoa le likarolo tsa SDK lits'ebetsong tse nang le processor ea Apple Silicon, le ts'ehetso ea ho bokella lifaele tse sebetsang bakeng sa lichifi tsena.
  • Taelo ea "dart pub" e ekelitse tšehetso bakeng sa faele e ncha ea tšebeletso ".pubignore", e leng se u lumellang hore u hlalose lethathamo la lifaele tse tla tlotsoa ha u phatlalatsa sephutheloana sebakeng sa polokelo ea pub.dev. Litlhophiso tsena ha li kena-kenane le lenane la ho hlokomoloha ".gitignore" (maemong a mang, pub.dev e ka 'na ea batla ho qoba ho fetisetsa lifaele tse hlokahalang ho Git, mohlala, mangolo a ka hare a sebelisoang nakong ea tsoelo-pele).
  • Mosebetsi o entsoe ho ntlafatsa ts'ebetso ea taelo ea "dart test", eo hona joale e sa hlokeng ho khutlisa liteko ka mor'a ho fetola pubspec haeba nomoro ea phetolelo e sa fetoha.
  • Tšehetso ea ho bokella ka mokhoa oa ho lumellana le ECMAScript 5 e khaotsoe (phetoho e tla fella ka tahlehelo ea ho lumellana le sebatli sa IE11).
  • Lisebelisoa tsa motho ka mong tsa sethala, dartfmt le dart2native li phatlalalitsoe hore ha li sa sebetsa, 'me li nkeloa sebaka ke litaelo tse hahelletsoeng ka har'a sesebelisoa se bitsoang dart utility.
  • Mokhoa oa VM Native Extensions o tlositsoe. Ho letsetsa khoutu ea lehae ho tsoa khoutu ea Dart, ho khothaletsoa ho sebelisa Dart FFI e ncha (Foreign Function Interface).

Ka nako e ts'oanang, ho ile ha hlahisoa tokollo e kholo ea sebopeho sa mosebelisi Flutter 2.5, e nkuoang e le mokhoa o mong oa React Native mme e lumella, ho ipapisitsoe le khoutu e le 'ngoe, ho lokolla lits'ebetso tsa iOS, Android, Windows, macOS le Linux. sethala, hammoho le ho theha lits'ebetso tse tla sebetsa ho libatli. Khetla e tloaelehileng bakeng sa sistimi ea ts'ebetso ea Fuchsia microkernel e ntlafalitsoeng ke Google e hahiloe motheong oa Flutter.

Karolo e ka sehloohong ea khoutu ea Flutter e sebelisoa ka puo ea Dart, 'me enjene ea nako ea ho sebetsa bakeng sa ho etsa likopo e ngotsoe ka C ++. Ha u etsa lits'ebetso, ho kenyelletsa puo ea tlhaho ea Flutter ea Dart, u ka sebelisa sebopeho sa Dart Foreign Function ho letsetsa khoutu ea C/C++. Ts'ebetso e phahameng ea ts'ebetso e fihlelleha ka ho bokella lits'ebetso ho khoutu ea matsoalloa bakeng sa liforomo tse shebiloeng. Tabeng ena, lenaneo ha le hloke ho tsosolosoa ka mor'a phetoho e 'ngoe le e' ngoe - Dart e fana ka mokhoa o chesang oa ho tsosolosa o u lumellang ho etsa liphetoho ho sesebelisoa se sebetsang 'me hang-hang u hlahlobe sephetho.

Liphetoho tse kholo ho Flutter 2.5:

  • E entse lintlafatso tse kholo tsa ts'ebetso. Ho li-platform tsa iOS le macOS, ho bokelloa ha li-shaders bakeng sa Metal graphics API ho kentsoe tšebetsong. Bokhoni bo ntlafetseng ba ho sebetsana le liketsahalo tsa asynchronous. E rarollotse bothata ka tieho ha moqopi oa lithōle a khutlisa mohopolo ho tsoa litšoantšong tse sa sebelisoang (mohlala, nakong ea ho bapala GIF ea animated ea metsotsoana e 20, palo ea ts'ebetso ea ho bokella lithōle e fokotsehile ho tloha ho 400 ho ea ho 4. Ho lieha ha ho fetisa melaetsa pakeng tsa Dart le Sepheo- C/Swift e ile ea fokotsoa ho 50% (iOS) kapa Java/Kotlin (Android) E kentse tšehetso ea kaho ea matsoalloa bakeng sa litsamaiso tse thehiloeng ho Apple Silicon chip.
    Puo ea Dart 2.14 le moralo oa Flutter 2.5 o teng
  • Bakeng sa sethala sa Android, tšehetso ea ho tsamaisa lits'ebetso ka mokhoa o felletseng oa skrineng e thehiloe. Ts'ebetsong ea mohopolo oa moralo oa "Material You", o hlahisitsoeng e le khetho ea Moqapi oa Material oa moloko o latelang, o ile oa tsoela pele. E kentse boemo bo bocha MaterialState.scrolledUnder, e kentse tšebetsong ponts'o e matla ea mekoallo ha e nchafatsoa, ​​'me ea sisinya sebopeho se secha sa ho hlahisa lifolakha tsa tsebiso.
  • Bokhoni ba plug-in ea khamera bo ekelitsoe haholo, ho eketsa lisebelisoa tsa ho laola autofocus, exposure, flash, zoom, phokotso ea lerata le tharollo.
  • Lisebelisoa tsa baqapi (DevTools) li ntlafalitsoe ho kenyelletsa mokhoa o ntlafalitsoeng oa tlhahlobo ea li-widget, hammoho le lisebelisoa tsa ho tsebahatsa tieho ea ho fana le ho latedisa shader.
    Puo ea Dart 2.14 le moralo oa Flutter 2.5 o teng
  • Li-plugins tse ntlafalitsoeng tsa Visual Studio Code le IntelliJ/Android Studio.

Source: opennet.ru

Eketsa ka tlhaloso