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 farawa cikin sauri da kuma babban aiki ga duk masu binciken yanar gizo na zamani da nau'ikan muhalli daban-daban, tun daga na'urori masu ɗaukuwa zuwa masu ƙarfi sabobin.
- 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 abubuwan amfani ta wurin ma'ajiyar mashaya, wanda ya ƙunshi kusan fakiti 22.
Manyan canje-canje a cikin sakin Dart 2.15:
- Ana ba da kayan aiki don saurin aiwatar da ayyuka masu kama da juna tare da keɓewar ma'aikaci. A kan tsare-tsare masu yawan gaske, lokacin gudu na Dart ta tsohuwa yana aiwatar da lambar aikace-aikace akan ainihin CPU guda ɗaya, yayin da ake amfani da sauran nau'ikan don ayyukan tsarin kamar I/O na asynchronous, rubutun fayil, ko kiran cibiyar sadarwa. Don aikace-aikacen da ke buƙatar aiwatar da layi ɗaya na ma'aikatansu, kamar raye-rayen keɓancewa, ana ba da ikon ƙaddamar da ɓangarorin lamba (keɓancewa). Waɗannan tubalan sun keɓe daga juna kuma suna gudana akan nau'ikan CPU daban-daban a lokaci guda tare da babban zaren aikace-aikacen. Don kare kurakuran da ke faruwa lokacin da aka aiwatar da lambar samun damar saitin bayanai iri ɗaya a lokaci guda, an hana keɓantattun tubalan raba abubuwa masu canzawa, kuma ana amfani da samfurin wucewar saƙo don sadarwa tsakanin ma'aikata.
Dart 2.15 yana gabatar da sabon ra'ayi-ƙungiyoyi masu keɓe-waɗanda ke ba da damar samun dama ga tsarin bayanai na ciki daban-daban a cikin keɓantattun tubalan a cikin rukuni, yana rage yawan ma'amala tsakanin masu gudanarwa a cikin rukuni. Misali, ƙaddamar da ƙarin shingen keɓewa a cikin rukunin da ake da shi yana da sauri sau 100 kuma yana buƙatar ƙarancin ƙwaƙwalwar ajiya sau 10-100 fiye da ƙaddamar da shingen keɓewa, ta hanyar kawar da buƙatar fara tsarin bayanan shirin.
Ko da yake har yanzu an hana raba damar yin amfani da abubuwan maye gurbi a cikin keɓantattun tubalan a cikin rukuni, ƙungiyoyin suna raba tarin ƙwaƙwalwar ajiya, suna hanzarta canja wurin abubuwa daga wannan toshe zuwa wani ba tare da buƙatar ayyukan kwafi mai ƙarfi ba. Sabuwar sigar kuma tana ba da damar ƙaddamar da sakamakon mai sarrafa lokacin kiran Isolate.exit() don canja wurin bayanai zuwa katangar keɓe iyaye ba tare da yin kwafi ba. Bugu da ƙari, an inganta tsarin isar da saƙon—kanana da matsakaitan saƙon ana sarrafa su kusan sau 8 cikin sauri. Abubuwan da za a iya wucewa tsakanin keɓancewar tubalan ta amfani da SendPort.send() yanzu sun haɗa da wasu nau'ikan ayyuka, rufewa, da tari.
- Siffar tsagawar tana kawar da hani kan ƙirƙirar irin waɗannan masu nuni a cikin lambar ginin, wanda zai iya zama da amfani yayin gina musaya dangane da ɗakin karatu na Flutter. Misali, don ƙirƙirar widget din Rukunin da ya haɗa da widget ɗin Rubutu da yawa, zaku iya kiran .map() kuma ku wuce masu nuni zuwa ga Text.new maginin Rubutun: class FruitWidget yana tsawaita Widget StatelessWidget {@override Widget build(BuildContext mahallin) {dawo ginshiƙi( yara: ['Apple', 'Orange'));(Textox). } }
- An faɗaɗa ƙarfin nunin ayyuka. An ƙara ikon yin amfani da hanyoyin gamayya da masu nunin aiki don ƙirƙirar hanyar da ba ta gama-gari ba kuma an ƙara mai nuni: 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, kamar ikon buga kirtani kirtani na kowane enum darajar ta amfani da .name hanya, zaži dabi'u da suna, ko kwatanta nau'i-nau'i na dabi'u: enum MyEnum {daya, biyu, uku} void main () {bugu (MyEnum.one.name); // buga "daya". bugawa (MyEnum.values.byName ('biyu') == MyEnum.biyu); // buga "gaskiya". taswirar ƙarshe = MyEnum.values.asNameMap (); buga (taswira ['uku'] == MyEnum.uku); // "gaskiya". }
- An aiwatar da wata dabarar matsa lamba, wadda ke ba da damar amfani da ƙaramin wakilcin mai nuna alama a cikin mahalli 64-bit idan sararin adireshin bit 32 ya isa don magancewa (ta amfani da ƙarancin ƙwaƙwalwar ajiya 4 GB). Gwaje-gwaje sun nuna cewa wannan haɓakawa na iya rage girman tarin bayanai da kusan 10%. An riga an kunna sabon yanayin ta hanyar tsoho a cikin Flutter SDK. Android, kuma an shirya don haɗa shi ga iOS a cikin fitowar nan gaba.
- Dart SDK ya haɗa da gyara kurakurai da kayan aikin bincike (DevTools), waɗanda aka bayar a baya a cikin wani fakiti daban.
- An sabunta umarnin "dart pub" da ma'ajiyar fakitin pub.dev tare da kayan aiki don gano buguwar haɗari na mahimman bayanai, kamar barin takaddun shaida don ci gaba da tsarin haɗin kai da yanayin girgije a cikin kunshin. Idan an gano irin wannan leken asirin, umarnin "dart pub publish" zai soke tare da saƙon kuskure. Idan akwai tabbataccen ƙarya, yanzu akwai zaɓin yin rajista don keɓance wannan cak.
- Ma'ajiyar pub.dev yanzu tana ba ku damar janye sigar fakiti da aka buga a baya, misali, idan an gano kwari masu haɗari ko lahani. A baya can, an magance irin waɗannan gyare-gyare ta hanyar buga sigar gyara na gaba, amma a wasu yanayi, ya zama dole a soke sakin data kasance kuma a dakatar da rarraba shi cikin gaggawa (misali, idan gyaran bai riga ya shirya ba ko kuma idan an buga cikakken sakin kuskure a maimakon sigar gwaji). Bayan janyewa, ba a sake gano kunshin ta umarnin "pub get" da "pub upgrade" ba, kuma akan tsarin da aka riga aka shigar, ana ba da gargadi na musamman a gaba lokacin da kake gudanar da "pub get."
- Ƙara kariya daga rauni (CVE-2021-22567) ta hanyar amfani da haruffan Unicode a lambar da ke canza tsarin nuni.
- An gyara wani rauni (CVE-2021-22568) wanda ke bawa maharin damar yin kwaikwayon wani mai amfani da pub.dev na daban lokacin buga fakiti zuwa sabar ɓangare na uku wanda ke karɓar alamun shiga pub.dev OAuth2. Misali, ana iya amfani da wannan raunin don kai hari kan sabar fakitin ciki da na kamfani. Masu haɓaka waɗanda kawai ke buga fakiti zuwa pub.dev ba su da tasiri ga wannan batu.
A lokaci guda, an gabatar da wani muhimmin fitowar tsarin haɓaka hanyar sadarwa ta masu amfani da Flutter 2.8, wanda ake ɗauka a matsayin madadin React Native kuma yana ba da damar sakin aikace-aikace don dandamalin iOS bisa tushen lambar guda ɗaya. Android, Windows, macOS и Linux, da kuma ƙirƙirar manhajoji don gudanar da bincike. Flutter shine ginshiƙin tsarin aiki na microkernel na Google, Fuchsia. An lura cewa a cikin watanni shida da suka gabata, adadin manhajojin Flutter 2 a cikin Google Play Store ya ƙaru daga 200 zuwa 375, kusan ninki 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.
Canje-canje a cikin sabon sakin Flutter sun haɗa da haɓakawa zuwa saurin farawa da yawan ƙwaƙwalwar ajiya akan na'urorin hannu. Haɗa ƙa'idodi zuwa sabis na baya kamar Firebase da Google Cloud an sauƙaƙe. An daidaita kayan aikin haɗawa da Google Ads. An inganta tallafin kyamarori da plugins na yanar gizo sosai. Ana ba da sabbin kayan aikin don sauƙaƙe haɓakawa, kamar ƙari na 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
