Dart 2.14 basa lan Flutter 2.5 framework kasedhiya

Google wis nerbitake rilis basa pamrograman Dart 2.14, sing nerusake pangembangan cabang Dart 2 sing didesain ulang kanthi radikal, sing beda karo versi asli basa Dart kanthi nggunakake ngetik statis sing kuat (jinis bisa disimpulake kanthi otomatis, dadi nemtokake jinis ora perlu, nanging ngetik dinamis ora digunakake maneh lan pisanan ngitung jinis diutus kanggo variabel lan mriksa jinis ketat banjur diterapake).

Fitur basa Dart:

  • Sintaks sing akrab lan gampang dipelajari, alami kanggo programer JavaScript, C lan Java.
  • Mesthekake peluncuran cepet lan kinerja dhuwur kanggo kabeh browser web modern lan macem-macem jinis lingkungan, saka piranti portabel nganti server sing kuat.
  • Kemampuan kanggo nemtokake kelas lan antarmuka sing ngidini enkapsulasi lan nggunakake maneh metode lan data sing wis ana.
  • Nemtokake jinis nggampangake debug lan ngenali kesalahan, nggawe kode luwih cetha lan bisa diwaca, lan nyederhanakake modifikasi lan analisis dening pangembang pihak katelu.
  • Jinis sing didhukung kalebu: macem-macem jinis hash, array lan dhaptar, antrian, jinis angka lan senar, jinis kanggo nemtokake tanggal lan wektu, ekspresi reguler (RegExp). Sampeyan bisa nggawe jinis dhewe.
  • Kanggo ngatur eksekusi paralel, disaranake nggunakake kelas kanthi atribut isolasi, kode sing dieksekusi kabeh ing papan sing terisolasi ing area memori sing kapisah, sesambungan karo proses utama kanthi ngirim pesen.
  • Dhukungan kanggo nggunakake perpustakaan sing nyederhanakake dhukungan lan debugging proyek web gedhe. Implementasi fungsi pihak katelu bisa kalebu ing wangun perpustakaan sing dienggo bareng. Aplikasi bisa dipérang dadi bagéan lan ngandelake pangembangan saben bagean menyang tim programer sing kapisah.
  • A pesawat saka siap-digawe pribadi kanggo ndhukung pembangunan ing basa Dart, kalebu implementasine pembangunan dinamis lan alat debugging karo koreksi kode on the fly ("sunting-lan-terus").
  • Kanggo nyederhanakake pangembangan ing basa Dart, dilengkapi SDK, pub manajer paket, penganalisa kode statis dart_analyzer, kumpulan perpustakaan, lingkungan pangembangan terintegrasi DartPad lan Dart-enabled plugins kanggo IntelliJ IDEA, WebStorm, Emacs, Teks Sublime. 2 lan Vim.
  • Paket tambahan karo perpustakaan lan utilitas disebarake liwat repositori pub, sing duwe luwih saka 20 ewu paket.

Owah-owahan utama ing release Dart 2.14:

  • Operator triple shift anyar (>>>) wis ditambahake, sing, ora kaya operator ">>", ora nindakake aritmetika, nanging owah-owahan logis sing bisa ditindakake tanpa njupuk bit tandha (pergeseran kasebut ditindakake tanpa dibagi dadi. angka positif lan negatif).
  • Mbusak watesan ing argumen jinis sing nyegah jinis fungsi umum digunakake minangka argumen jinis. Contone, saiki sampeyan bisa nemtokake: pungkasan List (T)>idFungsi; var telpon balik = [ (Nilai T) => nilai]; telat S Fungsi (T)>(S) f;
  • Ngidini nemtokake argumen kanthi jinis ing anotasi kayata @Deprecated. Contone, sampeyan saiki bisa nemtokake: @TypeHelper (42, "Makna")
  • Metode statis hash, hashAll lan hashAllUnordered wis ditambahake menyang perpustakaan standar (inti) ing kelas Obyek. Kelas DateTime wis nambah penanganan wektu lokal nalika ngowahi jam antarane mangsa panas lan mangsa sing ora bisa dipérang dadi siji jam (contone, ing Australia ngimbangi 30 menit digunakake). Paket ffi nambahake dhukungan kanggo mekanisme alokasi memori arena, sing kanthi otomatis ngeculake sumber daya. Paket ffigen wis nambahake kemampuan kanggo ngasilake definisi typedef jinis Dart saka basa C.
  • 250 paket paling populer saka repositori pub.dev lan 94% saka ndhuwur-1000 wis diuripake kanggo nggunakake mode "null safety", sing bakal ngindhari kacilakan sing disebabake dening nyoba nggunakake variabel sing nilaine ora ditemtokake lan disetel menyang "Null". ”" Mode kasebut nuduhake manawa variabel ora bisa duwe nilai null kajaba ora diwenehi nilai null. Mode kasebut kanthi ketat ngormati jinis variabel, sing ngidini kompiler bisa ngetrapake optimasi tambahan. Kepatuhan jinis dicenthang ing wektu kompilasi, contone, yen sampeyan nyoba nemtokake nilai "Null" menyang variabel kanthi jinis sing ora nuduhake negara sing ora ditemtokake, kayata "int", kesalahan bakal ditampilake.
  • Sets aturan Unified kanggo kode analyzer (linter) ngajokaken, nyediakake support simultaneous kanggo mriksa selaras karo pedoman gaya kode kanggo Dart lan framework Flutter. Kanggo alasan historis, aturan coding kanggo Flutter lan Dart beda-beda, ing Kajaba iku, kanggo Dart ana rong set aturan sing digunakake - pedantic saka Google lan aturan saka komunitas pangembang Dart. Dart 2.14 pirso pesawat umum anyar saka aturan kanggo linter, kang mutusaké kanggo digunakake minangka standar ing proyek Dart anyar lan ing Flutter SDK. Set kasebut kalebu aturan inti (paket lints/core.yaml), aturan tambahan sing disaranake (lints/recommended.yaml), lan rekomendasi khusus Flutter (flutter_lints/flutter.yaml). Pangguna aturan pedantic disaranake ngalih nggunakake gaya coding anyar adhedhasar rekomendasi saka dokumentasi Dart.
  • Ing formatter, optimasi wis digawe kanggo format blok kode cascading, sing bisa ningkatake kinerja format kanthi signifikan lan ngindhari interpretasi ambigu saka kepemilikan unsur ekspresi. Contone, nelpon "..doIt" ing ekspresi "var result = errorState ? foo: ala..doIt ()" ora ana hubungane karo bagean kondisional saka blok "ala", nanging kabeh ekspresi, dadi nalika format saiki dipisahake: var result = errorState ? foo: ala..doIt();
  • Dhukungan kanggo pemroses Apple M1 (Silicon) wis ditambahake ing SDK, tegese loro kemampuan kanggo mbukak Dart VM, keperluan lan komponen SDK ing sistem karo prosesor Apple Silicon, lan dhukungan kanggo kompilasi file eksekusi kanggo chip kasebut.
  • Printah "dart pub" wis ditambahaké support kanggo file layanan anyar ".pubignore", sing ngijini sampeyan kanggo netepake dhaftar file sing bakal dilewati nalika nerbitaké paket menyang gudang pub.dev. Setelan kasebut ora ngganggu dhaptar ".gitignore" (ing sawetara kahanan, pub.dev bisa uga pengin supaya ora nransfer file sing dibutuhake ing Git, contone, skrip internal sing digunakake sajrone pembangunan).
  • Karya wis rampung kanggo nambah kinerja printah "dart test", kang saiki ora mbutuhake recompiling tes sawise ngganti pubspec yen nomer versi ora diganti.
  • Dhukungan kanggo kompilasi ing mode kompatibilitas ECMAScript 5 wis mandheg (pangowahan bakal nyebabake kompatibilitas karo browser IE11 ilang).
  • Utilitas individu stagehand, dartfmt lan dart2native wis diumumake lungse, diganti dening printah dibangun ing disebut liwat sarana dart.
  • Mekanisme VM Native Extensions wis ora digunakake. Kanggo nelpon kode asli saka kode Dart, disaranake nggunakake Dart FFI anyar (Antarmuka Fungsi Manca).

Ing wektu sing padha, rilis penting saka kerangka antarmuka pangguna Flutter 2.5 ditampilake, sing dianggep minangka alternatif kanggo React Native lan ngidini, adhedhasar basis kode siji, ngeculake aplikasi kanggo iOS, Android, Windows, macOS lan platform Linux, uga nggawe aplikasi kanggo mbukak ing browser. Cangkang khusus kanggo sistem operasi mikrokernel Fuchsia sing dikembangake dening Google dibangun kanthi basis Flutter.

Sisih utama kode Flutter dileksanakake ing basa Dart, lan mesin runtime kanggo ngeksekusi aplikasi ditulis ing C ++. Nalika ngembangaken aplikasi, saliyane basa Dart native Flutter, sampeyan bisa nggunakake antarmuka Dart Foreign Function kanggo nelpon C / C ++ kode. Kinerja eksekusi sing dhuwur digayuh kanthi nyusun aplikasi menyang kode asli kanggo platform target. Ing kasus iki, program kasebut ora perlu dikompilasi maneh sawise saben owah-owahan - Dart nyedhiyakake mode reload panas sing ngidini sampeyan ngganti aplikasi sing mlaku lan langsung ngevaluasi asil.

Owah-owahan utama ing Flutter 2.5:

  • Nggawe optimasi kinerja sing signifikan. Ing platform iOS lan macOS, precompilation shaders kanggo API grafis Metal wis dileksanakake. Efisiensi ngolah acara asinkron. Ditanggulangi masalah karo telat nalika kolektor uwuh reclaims memori saka gambar sing ora digunakake (Contone, sak puter maneh saka GIF animasi 20 detik, jumlah operasi koleksi uwuh suda saka 400 kanggo 4. Telat nalika maringaken pesen antarane Dart lan Objective- C/Swift dikurangi dadi 50% (iOS) utawa Jawa/Kotlin (Android) Added native build support kanggo sistem adhedhasar chip Apple Silicon.
    Dart 2.14 basa lan Flutter 2.5 framework kasedhiya
  • Kanggo platform Android, dhukungan kanggo mbukak aplikasi ing mode layar wutuh wis ditetepake. Implementasi konsep desain "Material Sampeyan", sing ditampilake minangka pilihan Desain Material generasi sabanjure, terus. Added negara anyar MaterialState.scrolledUnder, dipun ginakaken tampilan dinamis gulung bar nalika ngowahi ukuran, lan ngajokaken antarmuka anyar kanggo nampilake gendero kabar.
  • Kapabilitas plug-in kamera wis ditambahi sacara signifikan, nambahake alat kanggo ngontrol fokus otomatis, cahya, lampu kilat, zoom, nyuda gangguan lan resolusi.
  • Piranti pangembang (DevTools) wis apik kanggo nyakup mode inspeksi widget sing dianyari, uga alat kanggo ngenali wektu tundha rendering lan nglacak kompilasi shader.
    Dart 2.14 basa lan Flutter 2.5 framework kasedhiya
  • Plugins apik kanggo Visual Studio Code lan IntelliJ / Android Studio.

Source: opennet.ru

Add a comment