Bahasa pemrograman Dart 2.8 dirilis

ambil tempat rilis bahasa pemrograman Dart 2.8, yang melanjutkan pengembangan cabang Dart 2 yang didesain ulang secara radikal, berfokus kembali pada pengembangan sistem Web dan seluler, serta dioptimalkan untuk pembuatan komponen sisi klien.

Dart 2 berbeda dari bahasa Dart asli dalam penggunaan pengetikan statis yang kuat (tipe dapat disimpulkan secara otomatis, jadi spesifikasi tipe bersifat opsional, tetapi pengetikan dinamis tidak lagi digunakan dan tipe yang dihitung pada awalnya ditetapkan ke variabel dan pemeriksaan tipe yang ketat dilakukan. kemudian diterapkan). Untuk pengembangan aplikasi web ditawarkan sekumpulan perpustakaan tertentu, seperti dart:html, serta kerangka web Angular. Sebuah kerangka kerja sedang dipromosikan untuk membuat aplikasi seluler Bergetar, yang menjadi dasar, antara lain, shell pengguna sistem operasi mikrokernel baru yang sedang dikembangkan di Google dibangun Fuchsia.

Dalam rilis baru:

  • Menambahkan berarti menggunakan nilai Null dengan aman, sehingga merusak kompatibilitas ke belakang. Misalnya, kesalahan waktu kompilasi sekarang akan terjadi jika ada upaya untuk menetapkan nilai "Null" ke variabel dengan tipe yang tidak terdefinisi, seperti "int". Pembatasan juga telah diberlakukan pada kompatibilitas variabel dengan tipe Nullable dan non-Nullable, seperti β€œint?” dan "int" (variabel bertipe "int" dapat ditetapkan ke variabel bertipe "int", tetapi tidak sebaliknya). Hal yang sama berlaku untuk variabel yang dikembalikan dalam pernyataan "return" - jika variabel dengan tipe yang tidak mengizinkan status "Null" tidak diberi nilai di badan fungsi, kompiler akan menampilkan kesalahan. Perubahan ini akan memungkinkan Anda menghindari kerusakan yang disebabkan oleh upaya menggunakan variabel yang nilainya tidak ditentukan dan disetel ke β€œNull”.
  • gudang pub.dev melewati angka 10 ribu paket. Sebagai bagian dari siklus penyediaan Dart 2.8, kinerja pengambilan paket dari pub.dev telah ditingkatkan secara signifikan dengan mendukung pengambilan paket ke beberapa thread paralel saat menjalankan perintah "pub get", serta prakompilasi yang lambat saat menjalankan perintah "pub get". perintah pub run". Menguji perintah β€œpub get” untuk proyek baru berbasis Flutter menunjukkan penurunan waktu pengoperasian dari 6.5 menjadi 2.5 detik, dan untuk aplikasi yang lebih besar seperti galeri Flutter, dari 15 menjadi 3 detik.
  • Menambahkan perintah "pub ketinggalan jaman" baru untuk menjaga semua dependensi pada paket yang diinstal tetap mutakhir. Dengan menggunakan perintah "pub ketinggalan jaman", Anda dapat mengevaluasi, tanpa membuat perubahan pada file pubspec, apakah ada versi utama yang lebih baru dari semua dependensi yang terkait dengan paket tertentu. Tidak seperti "peningkatan pub", perintah baru ini tidak hanya memeriksa versi yang sesuai dengan pubspec, tetapi juga cabang yang lebih baru. Misalnya, untuk paket dengan dependensi yang disematkan "foo: ^1.3.0" dan "bar: ^2.0.0", menjalankan "pub usang" akan menampilkan keberadaan cabang yang tersedia dan cabang yang lebih baru:

    Dependensi Saat Ini Dapat Diupgrade Dapat Diselesaikan Terbaru
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    bilah 2.0.1 2.1.0 3.0.3 3.0.3

Fitur bahasa Dart:

  • Sintaks yang familier dan mudah dipelajari, alami untuk pemrogram JavaScript, C, dan Java.
  • Memastikan peluncuran yang cepat dan kinerja tinggi untuk semua browser web modern dan berbagai jenis lingkungan, mulai dari perangkat portabel hingga server yang kuat;
  • Kemampuan untuk mendefinisikan kelas dan antarmuka yang memungkinkan enkapsulasi dan penggunaan kembali metode dan data yang ada;
  • Menentukan jenis memudahkan proses debug dan mengidentifikasi kesalahan, membuat kode lebih jelas dan mudah dibaca, serta menyederhanakan modifikasi dan analisisnya oleh pengembang pihak ketiga.
  • Tipe yang didukung meliputi: berbagai tipe hash, array dan daftar, antrian, tipe numerik dan string, tipe untuk menentukan tanggal dan waktu, ekspresi reguler (RegExp). Mungkin membuat milik Anda sendiri jenis;
  • Untuk mengatur eksekusi paralel, diusulkan untuk menggunakan kelas dengan atribut isolasi, kode yang dieksekusi seluruhnya dalam ruang terisolasi di area memori terpisah, berinteraksi dengan proses utama dengan mengirimkan pesan;
  • Dukungan untuk penggunaan perpustakaan yang menyederhanakan dukungan dan debugging proyek web besar. Implementasi fungsi pihak ketiga dapat dimasukkan dalam bentuk perpustakaan bersama. Aplikasi dapat dibagi menjadi beberapa bagian dan mempercayakan pengembangan setiap bagian kepada tim pemrogram yang terpisah;
  • Seperangkat alat siap pakai untuk mendukung pengembangan dalam bahasa Dart, termasuk implementasi alat pengembangan dan debugging dinamis dengan koreksi kode on-the-fly (β€œedit-dan-lanjutkan”);
  • Untuk menyederhanakan pengembangan dalam bahasa Dart, ia hadir dengan SDK, manajer paket bar, penganalisis kode statis dart_analyzer, kumpulan perpustakaan, lingkungan pengembangan terintegrasi Papan Dart dan plugin yang mendukung Dart untuk IDE IntelliJ, WebStorm, Emacs, Teks luhur 2 ΠΈ semangat;
  • Paket tambahan dengan perpustakaan dan utilitas didistribusikan melalui repositori bar, yang memiliki lebih dari 10 ribu paket.

Sumber: opennet.ru

Tambah komentar