Dart 2.15 yaren shirye-shirye da tsarin Flutter 2.8 akwai

Google ya wallafa sakin Dart 2.15 na shirye-shiryen harshe, wanda ke ci gaba da haɓaka reshe na Dart 2 wanda aka sake fasalin sosai, wanda ya bambanta da ainihin sigar harshen Dart ta hanyar amfani da rubutu mai ƙarfi (nau'ikan za a iya gano su ta atomatik, don haka Ƙayyadaddun nau'ikan ba lallai ba ne, amma ba a daina amfani da bugu mai ƙarfi kuma da farko an ƙididdige nau'in nau'in zuwa mai canzawa kuma daga baya ana amfani da nau'i mai tsauri).

Siffofin harshen Dart:

  • Sananniya kuma mai sauƙin koya, na halitta don JavaScript, C da masu shirye-shiryen Java.
  • Tabbatar da ƙaddamar da sauri da babban aiki ga duk masu binciken gidan yanar gizo na zamani da nau'ikan yanayi daban-daban, daga na'urori masu ɗaukar hoto zuwa sabar masu ƙarfi.
  • Ikon ayyana azuzuwan da musaya waɗanda ke ba da damar ɓoyewa da sake amfani da hanyoyin da bayanai da ake da su.
  • Ƙayyadaddun nau'o'in yana ba da sauƙi don yin kuskure da gano kurakurai, yana sa lambar ta zama mafi bayyane kuma mafi iya karantawa, kuma yana sauƙaƙa gyare-gyare da bincike ta masu haɓakawa na ɓangare na uku.
  • Nau'o'in tallafi sun haɗa da: nau'ikan hashes daban-daban, arrays da lissafin, jerin gwano, lambobi da nau'ikan kirtani, nau'ikan don tantance kwanan wata da lokaci, maganganu na yau da kullun (RegExp). Yana yiwuwa don ƙirƙirar nau'ikan ku.
  • Don tsara kisa na daidaici, an ba da shawarar yin amfani da azuzuwan tare da sifa ta keɓe, lambar wacce aka aiwatar da ita gabaɗaya a keɓantaccen sarari a cikin keɓantaccen wurin ƙwaƙwalwar ajiya, yin hulɗa tare da babban tsari ta hanyar aika saƙonni.
  • Taimako don amfani da ɗakunan karatu waɗanda ke sauƙaƙe tallafi da lalata manyan ayyukan yanar gizo. Ana iya haɗa aiwatar da ayyuka na ɓangare na uku a cikin nau'in ɗakunan karatu na tarayya. Ana iya raba aikace-aikacen zuwa sassa kuma a ba da alhakin ci gaban kowane bangare ga ƙungiyar masu shirye-shirye daban.
  • Saitin kayan aikin da aka ƙera don tallafawa ci gaba a cikin harshen Dart, gami da aiwatar da haɓaka haɓaka mai ƙarfi da kayan aikin lalata tare da gyare-gyaren lamba akan tashi ("gyara-da-ci gaba").
  • Don sauƙaƙe ci gaba a cikin yaren Dart, ya zo tare da SDK, mashaya mai sarrafa fakiti, dart_analyzer mai lamba, saitin ɗakunan karatu, haɗaɗɗen mahalli na haɓaka DartPad da plugins masu kunna Dart don IntelliJ IDEA, WebStorm, Emacs, Rubutun Maɗaukaki 2 da Vim.
  • Ana rarraba ƙarin fakiti tare da ɗakunan karatu da kayan aiki ta wurin ajiyar mashaya, wanda ke da kusan fakiti dubu 22.

Manyan canje-canje a cikin sakin Dart 2.15:

  • Yana ba da kayan aiki don saurin aiwatar da ayyuka daidai gwargwado tare da keɓe masu sarrafa. A kan tsare-tsare masu yawa, Dart runtime ta tsohuwa yana gudanar da lambar aikace-aikace akan ainihin CPU guda ɗaya kuma yana amfani da wasu nau'ikan ƙira don aiwatar da ayyukan tsarin kamar I/O mai daidaitawa, rubutu zuwa fayiloli, ko yin kiran cibiyar sadarwa. Don aikace-aikacen da ke buƙatar aiwatar da masu sarrafa su a layi daya, alal misali, don yin raye-raye a cikin keɓancewa, yana yiwuwa a ƙaddamar da ɓangarori daban-daban na lamba (keɓe), keɓe da juna kuma ana aiwatar da su akan sauran nau'ikan CPU lokaci guda tare da babban zaren aikace-aikacen. . Don karewa daga kurakurai da suka taso lokacin aiwatar da lamba tare da aiki tare da saitin bayanai iri ɗaya, an haramta raba abubuwan da za su iya canzawa a cikin keɓe daban-daban, kuma ana amfani da samfurin wucewar saƙo don mu'amala tsakanin masu gudanarwa.

    Dart 2.15 yana gabatar da sabon ra'ayi - ƙungiyoyin toshe keɓaɓɓu (ƙungiyoyi masu keɓancewa), wanda ke ba ku damar tsara hanyar haɗin kai zuwa tsarin bayanan ciki daban-daban a cikin keɓantattun tubalan waɗanda ke cikin rukuni ɗaya, wanda zai iya rage girman kai yayin yin hulɗa tsakanin masu gudanarwa a cikin rukuni. . Misali, ƙaddamar da ƙarin keɓe block a cikin rukunin da ke akwai yana da sauri sau 100 kuma yana buƙatar ƙarancin ƙwaƙwalwar ajiya sau 10-100 fiye da ƙaddamar da keɓantaccen shingen keɓancewa, saboda kawar da buƙatar fara tsarin bayanan shirin.

    Duk da cewa keɓance tubalan a cikin rukuni har yanzu suna hana raba damar yin amfani da abubuwa masu canzawa, ƙungiyoyin suna amfani da ƙwaƙwalwar ajiyar da aka raba, wanda zai iya hanzarta canja wurin abubuwa daga wannan toshe zuwa wani ba tare da buƙatar aiwatar da ayyukan kwafin albarkatun ba. Sabuwar sigar kuma tana ba ku damar ƙaddamar da sakamakon mai sarrafa lokacin kiran Isolate.exit() don canja wurin bayanai zuwa wurin keɓewar iyaye ba tare da yin kwafin ayyukan ba. Bugu da kari, an inganta hanyar isar da saƙon - kanana da matsakaitan saƙonni yanzu ana sarrafa kusan sau 8 cikin sauri. Abubuwan da za a iya wucewa tsakanin keɓewa ta amfani da kiran SendPort.send() sun haɗa da wasu nau'ikan ayyuka, rufewa, da tari.

  • A cikin kayan aikin ƙirƙirar masu nuni zuwa ayyuka na mutum a cikin wasu abubuwa (yaga-kashe), an cire hani kan ƙirƙirar masu nuni iri ɗaya a cikin lambar ginin ginin, wanda zai iya zama da amfani yayin gina musaya dangane da ɗakin karatu na Flutter. Misali, don ƙirƙirar widget din Rukunin wanda ya haɗa da widget din Rubutu da yawa, zaku iya kiran ".map()" kuma ku wuce masu nuni zuwa ga Text.new maginin Rubutun: aji FruitWidget yana tsawaita Widget Stateless{@override Widget build(BuildContext mahallin) {dawo da ginshiƙi (yara: ['Apple', 'Orange'].map (Text.new).toList()); } }
  • An fadada damar da ke da alaƙa da amfani da masu nunin ayyuka. An ƙara ikon yin amfani da hanyoyin gamayya da masu nunin aiki don ƙirƙirar hanyar da ba ta gama-gari da mai nuni ba: T id (darajar T) => ƙima; var intId = id ; // an yarda a cikin sigar 2.15 maimakon "int Function (int) intId = id;" const fo = id; // mai nuna alamar aiki. const c1 = fo ;
  • Dart: core library ya inganta goyon baya ga enums, misali, za ka iya yanzu fitar da kirtani kirtani daga kowane enum darajar ta amfani da ".name" hanya, zaži dabi'u da suna, ko daidaita nau'i-nau'i na dabi'u: enum MyEnum {daya , biyu, uku } banza main () {bugu (MyEnum.one.name); // "daya" za a buga. bugawa (MyEnum.values.byName ('biyu') == MyEnum.biyu); // "gaskiya" za a buga. taswirar ƙarshe = MyEnum.values.asNameMap (); buga (taswira ['uku'] == MyEnum.uku); // "gaskiya". }
  • An aiwatar da dabarar matsawa mai nuni wanda ke ba da damar yin amfani da ƙarin ƙayyadaddun wakilci na masu nuni a cikin mahallin 64-bit idan sararin adireshi 32-bit ya isa don yin magana (ba a yi amfani da ƙwaƙwalwar fiye da 4 GB ba). Gwaje-gwaje sun nuna cewa irin wannan ingantawa yana ba da damar rage girman tarin da kusan 10%. A cikin Flutter SDK, an riga an kunna sabon yanayin don Android ta tsohuwa, kuma ana shirin kunna shi don iOS a cikin sakin gaba.
  • Dart SDK ya haɗa da kayan aikin gyara kurakurai da bincike na aiki (DevTools), waɗanda a baya aka kawo su a cikin wani fakiti daban.
  • An ƙara kayan aiki zuwa umarnin "dart pub" da wuraren ajiyar fakitin pub.dev don bin diddigin buga bayanan sirri na bazata, alal misali, barin takaddun shaida don ci gaba da tsarin haɗin kai da yanayin girgije a cikin kunshin. Idan an gano irin wannan leken asirin, za a katse aiwatar da umarnin "dart pub publish" tare da saƙon kuskure. Idan akwai tabbataccen ƙarya, yana yiwuwa a ketare rajistan ta hanyar jerin farin.
  • An ƙara ikon soke sigar fakiti da aka riga aka buga zuwa ma'ajiyar pub.dev, misali, idan an gano kurakurai masu haɗari ko lahani. A baya can, don irin waɗannan gyare-gyaren, aikin shine a buga sigar gyara, amma a wasu yanayi ya zama dole a soke sakin da aka yi kuma a dakatar da rarraba shi cikin gaggawa (misali, idan gyaran bai riga ya shirya ba ko kuma idan an sake shi gabaɗaya. wanda aka buga ta kuskure maimakon sigar gwaji). Bayan sokewa, ba a sake gano fakitin a cikin umarnin "pub get" da "bukatun haɓakawa", kuma akan tsarin da aka riga aka shigar, ana ba da gargaɗi na musamman a gaba lokacin aiwatar da "pub get" na gaba.
  • Ƙara kariya daga rauni (CVE-2021-22567) wanda ya haifar da amfani da haruffa unicode a cikin lambar da ke canza tsarin nuni.
  • Kafaffen lahani (CVE-2021-22568) wanda ke ba ka damar kwaikwayi wani mai amfani da pub.dev lokacin buga fakiti zuwa sabar ɓangare na uku wanda ke karɓar alamun samun damar pub.dev oauth2. Misali, ana iya amfani da raunin don kai hari kan sabar fakitin ciki da na kamfani. Masu haɓaka waɗanda kawai ke karɓar fakiti akan pub.dev ba su da tasiri a kan wannan batu.

A lokaci guda, an gabatar da gagarumin sakin tsarin tsarin mai amfani da Flutter 2.8, wanda aka ɗauka azaman madadin React Native kuma yana ba da izini, dangane da tushe guda ɗaya, don sakin aikace-aikacen iOS, Android, Windows, macOS da Linux dandamali, kazalika da ƙirƙirar aikace-aikace don aiki a browser. Harsashi na al'ada don tsarin aiki na microkernel Fuchsia wanda Google ya haɓaka an gina shi akan tushen Flutter. An lura cewa a cikin watanni shida da suka gabata, yawan aikace-aikacen Flutter 2 a cikin Shagon Google Play ya karu daga dubu 200 zuwa dubu 375, watau. kusan sau biyu.

Ana aiwatar da babban ɓangaren lambar Flutter a cikin yaren Dart, kuma injin lokacin aiki don aiwatar da aikace-aikacen an rubuta shi cikin C++. Lokacin haɓaka aikace-aikace, ban da yaren Dart na asali na Flutter, zaku iya amfani da aikin Dart Foreign Function don kiran lambar C/C++. Ana samun babban aikin kisa ta hanyar haɗa aikace-aikace zuwa lambar asali don dandamalin manufa. A wannan yanayin, shirin baya buƙatar sake tattarawa bayan kowane canji - Dart yana ba da yanayin sakewa mai zafi wanda ke ba ku damar yin canje-canje ga aikace-aikacen da ke gudana kuma nan da nan kimanta sakamakon.

Daga cikin canje-canje a cikin sabon sakin Flutter, ana lura da haɓaka saurin ƙaddamarwa da amfani da ƙwaƙwalwar ajiya akan na'urorin hannu. Yana da sauƙin haɗa ƙa'idodi zuwa sabis na baya kamar Firebase da Google Cloud. Kayan aikin haɗin kai tare da Google Ads an daidaita su. An inganta tallafin kyamarori da plugins na yanar gizo sosai. An gabatar da sabbin kayan aikin don sauƙaƙe haɓakawa, misali, an ƙara widget din don tantancewa ta amfani da Firebase. Injin Flame, wanda aka ƙera don haɓaka wasannin 2D ta amfani da Flutter, an sabunta shi.

source: budenet.ru

Add a comment