Dart 2.14 basa jeung Flutter 2.5 kerangka sadia

Google parantos nyebarkeun sékrési basa pamrograman Dart 2.14, anu neraskeun pamekaran cabang Dart 2 anu didesain deui sacara radikal, anu bénten ti versi asli basa Dart dina ngagunakeun ngetik statik anu kuat (jenis tiasa disimpulkeun sacara otomatis, janten khususna. jenis teu perlu, tapi ketikan dinamis teu dipaké deui jeung itungan awal tipe ieu ditugaskeun ka variabel jeung mariksa tipe ketat salajengna dilarapkeun).

Fitur tina basa Dart:

  • Sintaksis anu biasa sareng gampang diajar, alami pikeun programer JavaScript, C sareng Java.
  • Mastikeun peluncuran gancang sareng kinerja anu luhur pikeun sadaya panyungsi wéb modern sareng sababaraha jinis lingkungan, tina alat portabel dugi ka server anu kuat.
  • Kamampuhan pikeun ngartikeun kelas sareng antarmuka anu ngamungkinkeun enkapsulasi sareng dianggo deui metode sareng data anu tos aya.
  • Nangtukeun jenis ngagampangkeun pikeun debug sareng ngaidentipikasi kasalahan, ngajantenkeun kodeu langkung jelas sareng langkung dibaca, sareng nyederhanakeun modifikasi sareng analisa ku pamekar pihak katilu.
  • Jenis anu dirojong kalebet: rupa-rupa jinis hashes, susunan sareng daptar, antrian, jinis angka sareng senar, jinis pikeun nangtukeun tanggal sareng waktos, ekspresi biasa (RegExp). Kasebut nyaéta dimungkinkeun pikeun nyieun tipe anjeun sorangan.
  • Pikeun ngatur palaksanaan paralel, éta diusulkeun ngagunakeun kelas kalawan atribut isolate, kodeu nu geus dieksekusi sagemblengna dina spasi terasing di wewengkon memori misah, interacting jeung prosés utama ku ngirim pesen.
  • Rojongan pikeun pamakéan perpustakaan nu simplify rojongan tur debugging proyék web badag. Palaksanaan fungsi pihak katilu tiasa kalebet dina bentuk perpustakaan anu dibagikeun. Aplikasi tiasa dibagi kana sababaraha bagian sareng mercayakeun pamekaran unggal bagian ka tim programer anu misah.
  • Hiji set parabot siap-dijieun pikeun ngarojong ngembangkeun dina basa Dart, kaasup palaksanaan ngembangkeun dinamis sarta parabot debugging kalawan koreksi kode on laleur ("édit-jeung-terus").
  • Pikeun nyederhanakeun pamekaran dina basa Dart, éta hadir sareng SDK, manajer pakét pub, analisa kode statik dart_analyzer, sakumpulan perpustakaan, lingkungan pangembangan terpadu DartPad sareng plugins Dart-diaktipkeun pikeun IntelliJ IDEA, WebStorm, Emacs, Sublime Text. 2 sareng Vim.
  • Bungkusan tambahan sareng perpustakaan sareng utilitas disebarkeun ngaliwatan gudang pub, anu ngagaduhan langkung ti 20 rébu bungkusan.

Parobihan utama dina sékrési Dart 2.14:

  • A operator triple shift anyar (>>>) geus ditambahkeun, nu, teu saperti ">>" operator, ngalakukeun teu hiji arithmetic, tapi shift logis nu jalan tanpa merhatikeun bit tanda (shift dipigawé tanpa ngabagi kana. angka positif jeung negatif).
  • Ngahapus larangan dina jenis argumen anu nyegah jenis fungsi generik dipaké salaku argumen tipe. Contona, ayeuna anjeun bisa nangtukeun: telat Daptar (T)>idFungsi; var nelepon balik = [ (Nilai T) => nilai]; telat S Fungsi (T)>(S) f;
  • Ngidinan nangtukeun argumen sareng jinis dina anotasi sapertos @Deprecated. Contona, anjeun ayeuna bisa nangtukeun: @TypeHelper (42, "Hartina")
  • Metodeu statik Hash, hashAll sareng hashAllUnordered parantos ditambah kana perpustakaan standar (inti) dina kelas Objék. Kelas DateTime parantos ningkatkeun penanganan waktos lokal nalika ngarobih jam antara usum panas sareng usum tiris anu henteu tiasa dibagi sajam (contona, di Australia dianggo offset 30 menit). Paket ffi geus ditambahkeun rojongan pikeun mékanisme alokasi memori arena, nu otomatis ngaleupaskeun sumberdaya. Paket ffigen parantos nambihan kamampuan pikeun ngahasilkeun definisi typedef tina jinis Dart tina basa C.
  • 250 bungkusan anu pang populerna ti gudang pub.dev sareng 94% tina top-1000 parantos dialihkeun nganggo mode "null safety", anu bakal ngahindarkeun kacilakaan anu disababkeun ku usaha ngagunakeun variabel anu nilaina henteu ditangtukeun sareng disetel ka "Null "" Modeu nunjukkeun yén variabel henteu tiasa gaduh nilai nol kecuali aranjeunna sacara eksplisit ditugaskeun nilai nol. Modeu mastikeun ngahormatan jinis variabel, anu ngamungkinkeun kompiler pikeun nerapkeun optimasi tambahan. Patuh jinis dipariksa dina waktos kompilasi, contona, upami anjeun nyobian napelkeun nilai "Null" kana variabel kalayan jinis anu henteu nunjukkeun kaayaan anu teu ditangtukeun, sapertos "int", kasalahan bakal ditingalikeun.
  • susunan ngahijikeun Tatar aturan pikeun kode analyzer (linter) diusulkeun, nyadiakeun rojongan simultaneous pikeun mariksa patuh tungtunan gaya kode pikeun Dart jeung kerangka Flutter. Pikeun alesan sajarah, aturan coding pikeun Flutter na Dart éta béda, salian ti DART aya dua sét aturan dipake - leuwih pedantic ti Google jeung aturan ti komunitas pamekar Dart. Dart 2.14 ngenalkeun set aturan umum anyar pikeun linter, anu diputuskeun pikeun dianggo sacara standar dina proyék Dart énggal sareng di Flutter SDK. Susunan ngawengku aturan inti (lints/core.yaml pakét), dianjurkeun aturan tambahan (lints/recommended.yaml), sarta Flutter-spésifik rekomendasi (flutter_lints/flutter.yaml). Pamaké aturan pedantic disarankan pikeun ngalih ngagunakeun gaya coding anyar dumasar kana saran ti dokuméntasi Dart.
  • Dina formatter, optimizations geus dijieun pikeun pormat blok kode cascading, nu nyata bisa ngaronjatkeun kinerja pormat jeung nyingkahan interpretasi ambigu tina kapamilikan elemen ekspresi. Contona, nelepon "..doIt" dina ekspresi "var hasil = errorState? foo: bad..doIt ()" henteu paduli bagian kondisional tina blok "bad", tapi sakabéh éksprési, jadi lamun pormat ayeuna dipisahkeun: var result = errorState ? foo: goréng..doIt();
  • Rojongan pikeun prosesor Apple M1 (Silikon) geus ditambahkeun kana SDK, implying duanana kamampuhan pikeun ngajalankeun Dart VM, Utiliti sarta komponén SDK dina sistem kalawan processor Apple Silicon, sarta rojongan pikeun compiling file laksana pikeun chip ieu.
  • Paréntah "Dart pub" geus ditambahkeun rojongan pikeun file layanan anyar ".pubignore", nu ngidinan Anjeun pikeun nangtukeun daptar file anu bakal skipped nalika medarkeun pakét ka Repository pub.dev. Setélan ieu teu ngaganggu daptar malire ".gitignore" (dina sababaraha kaayaan, pub.dev meureun hoyong ulah mindahkeun file anu diperlukeun dina Git, contona, Aksara internal dipaké salila ngembangkeun).
  • Karya parantos dilakukeun pikeun ningkatkeun kamampuan paréntah "tés DART", anu ayeuna henteu meryogikeun tés recompiling saatos ngarobih pubspec upami nomer vérsi henteu robih.
  • Rojongan pikeun kompilasi dina modeu kasaluyuan ECMAScript 5 parantos dileungitkeun (parobahan bakal nyababkeun leungitna kasaluyuan sareng browser IE11).
  • Utiliti individu stagehand, dartfmt na dart2native geus dinyatakeun luntur, diganti ku paréntah diwangun-di disebut ngaliwatan utiliti DART.
  • Mékanisme VM Native Extensions parantos dileungitkeun. Pikeun nelepon kode asli tina kode Dart, disarankeun pikeun nganggo Dart FFI anyar (Antarmuka Fungsi Asing).

Dina waktos anu sami, sékrési anu penting tina kerangka antarmuka pangguna Flutter 2.5, anu dianggap salaku alternatif pikeun React Native sareng ngamungkinkeun, dumasar kana dasar kode tunggal, ngaleupaskeun aplikasi pikeun ios, Android, Windows, macOS sareng. Platform Linux, ogé nyiptakeun aplikasi pikeun dijalankeun dina browser. Cangkang khusus pikeun sistem operasi mikrokernel Fuchsia anu dikembangkeun ku Google diwangun dina dasar Flutter.

Bagian utama kode Flutter dilaksanakeun dina basa Dart, jeung mesin runtime pikeun executing aplikasi ditulis dina C ++. Nalika ngembangkeun aplikasi, salian basa DART pituin Flutter, anjeun tiasa nganggo antarmuka Dart Foreign Function pikeun nelepon C / C ++ kode. Kinerja palaksanaan anu luhur dihontal ku nyusun aplikasi kana kode asli pikeun platform target. Dina hal ieu, program teu perlu recompiled sanggeus unggal robah - Dart nyadiakeun modeu ulang panas nu ngidinan Anjeun pikeun nyieun parobahan dina aplikasi jalan jeung geura evaluate hasilna.

Parobihan utama dina Flutter 2.5:

  • Dijieun optimizations kinerja signifikan. Dina platform ios sareng macOS, precompilation of shaders pikeun Metal graphics API parantos dilaksanakeun. Ningkatkeun efisiensi ngolah acara asinkron. Ngarengsekeun hiji masalah jeung reureuh nalika collector sampah reclaims memori ti gambar nu teu kapake (Contona, salila playback of a 20 detik animasi GIF, jumlah operasi ngumpulkeun sampah diréduksi jadi 400. Telat nalika ngalirkeun pesen antara Dart jeung Tujuan- C / Swift diréduksi jadi 4% (ios) atanapi Java / Kotlin (Android) Ditambahkeun dukungan ngawangun asli pikeun sistem dumasar kana chip Apple Silicon.
    Dart 2.14 basa jeung Flutter 2.5 kerangka sadia
  • Pikeun platform Android, pangrojong pikeun ngajalankeun aplikasi dina modeu layar pinuh parantos ditetepkeun. Palaksanaan konsep desain "Bahan Anjeun", dibere salaku pilihan Desain Bahan generasi saterusna, dituluykeun. Ditambahkeun kaayaan anyar MaterialState.scrolledUnder, dilaksanakeun tampilan dinamis tina gulung bar nalika ukuran, sarta ngajukeun panganteur anyar pikeun nembongkeun spanduk bewara.
  • Kamampuhan plug-in kaméra parantos dilegaan sacara signifikan, nambihan alat pikeun ngadalikeun pokus otomatis, paparan, lampu kilat, zum, réduksi bising sareng résolusi.
  • Alat pamekar (DevTools) parantos ningkat pikeun kalebet mode pamariksaan widget anu diropéa, ogé alat pikeun ngaidentipikasi telat rendering sareng ngalacak kompilasi shader.
    Dart 2.14 basa jeung Flutter 2.5 kerangka sadia
  • Ningkatkeun plugins pikeun Visual Studio Code sareng IntelliJ / Android Studio.

sumber: opennet.ru

Tambahkeun komentar