Bahasa pengaturcaraan Dart 2.8 dikeluarkan

mengambil tempat keluaran bahasa pengaturcaraan Dart 2.8, yang meneruskan pembangunan cawangan Dart 2 yang direka bentuk semula secara radikal, memfokuskan semula pada pembangunan untuk Web dan sistem mudah alih dan dioptimumkan untuk mencipta komponen sisi pelanggan.

Dart 2 berbeza daripada bahasa Dart asal dalam penggunaan penaipan statik yang kuat (jenis boleh disimpulkan secara automatik, jadi spesifikasi jenis adalah pilihan, tetapi penaipan dinamik tidak lagi digunakan dan jenis yang dikira pada mulanya diberikan kepada pembolehubah dan pemeriksaan jenis yang ketat adalah kemudiannya digunakan). Untuk pembangunan aplikasi web ditawarkan satu set perpustakaan tertentu, seperti dart:html, serta rangka kerja web Angular. Rangka kerja sedang dipromosikan untuk mencipta aplikasi mudah alih Buang, atas dasar itu, antara lain, shell pengguna sistem pengendalian mikrokernel baharu yang dibangunkan di Google dibina Fuchsia.

Dalam keluaran baharu:

  • Ditambah bermaksud untuk menggunakan nilai Null dengan selamat, memecahkan keserasian ke belakang. Sebagai contoh, ralat masa kompilasi kini akan dilemparkan jika percubaan dibuat untuk memberikan nilai "Null" kepada pembolehubah jenis bukan tidak ditentukan, seperti "int". Sekatan juga telah diperkenalkan pada keserasian pembolehubah dengan jenis Nullable dan Non-Nullable, seperti β€œint?” dan "int" (pembolehubah dengan jenis "int" boleh diberikan pembolehubah dengan jenis "int", tetapi bukan sebaliknya). Perkara yang sama berlaku untuk pembolehubah yang dikembalikan dalam pernyataan "kembali" - jika dalam badan fungsi pembolehubah dengan jenis yang tidak membenarkan keadaan "Null" tidak diberikan nilai, pengkompil akan memaparkan ralat. Perubahan ini akan membolehkan anda mengelakkan ranap sistem yang disebabkan oleh percubaan untuk menggunakan pembolehubah yang nilainya tidak ditentukan dan ditetapkan kepada "Null".
  • repositori pub.dev melepasi markah 10 ribu pakej. Sebagai sebahagian daripada kitaran peruntukan Dart 2.8, prestasi mendapatkan semula pakej daripada pub.dev telah dipertingkatkan dengan ketara dengan menyokong pengambilan semula pakej ke dalam berbilang urutan selari apabila melaksanakan perintah "pub get", serta prapenyusun malas apabila melaksanakan " perintah pub run". Menguji perintah "pub get" untuk projek berasaskan Flutter baharu menunjukkan pengurangan dalam masa operasi daripada 6.5 kepada 2.5 saat, dan untuk aplikasi yang lebih besar seperti galeri Flutter, daripada 15 kepada 3 saat.
  • Menambah perintah "pub lapuk" baharu untuk memastikan semua kebergantungan pada pakej yang dipasang dikemas kini. Menggunakan arahan "pub lapuk", anda boleh menilai, tanpa membuat perubahan pada fail pubspec, sama ada terdapat versi utama yang lebih baharu bagi semua kebergantungan yang dikaitkan dengan pakej tertentu. Tidak seperti "naik taraf pub", arahan baharu menyemak bukan sahaja versi yang sepadan dengan pubspec, tetapi juga cawangan yang lebih baharu. Sebagai contoh, untuk pakej dengan kebergantungan disematkan "foo: ^1.3.0" dan "bar: ^2.0.0", menjalankan "pub lapuk" akan menunjukkan kehadiran kedua-dua cawangan yang tersedia dan cawangan yang lebih baharu:

    Tanggungan Semasa Boleh Naik Taraf Boleh Selesaikan Terkini
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    bar 2.0.1 2.1.0 3.0.3 3.0.3

Ciri-ciri bahasa Dart:

  • Sintaks yang biasa dan mudah dipelajari, semula jadi untuk pengaturcara JavaScript, C dan Java.
  • Memastikan pelancaran pantas dan prestasi tinggi untuk semua pelayar web moden dan pelbagai jenis persekitaran, daripada peranti mudah alih kepada pelayan berkuasa;
  • Keupayaan untuk menentukan kelas dan antara muka yang membenarkan enkapsulasi dan penggunaan semula kaedah dan data sedia ada;
  • Menentukan jenis menjadikannya lebih mudah untuk nyahpepijat dan mengenal pasti ralat, menjadikan kod lebih jelas dan lebih mudah dibaca serta memudahkan pengubahsuaian dan analisisnya oleh pembangun pihak ketiga.
  • Jenis yang disokong termasuk: pelbagai jenis cincang, tatasusunan dan senarai, baris gilir, jenis angka dan rentetan, jenis untuk menentukan tarikh dan masa, ungkapan biasa (RegExp). Mungkin mencipta sendiri jenis;
  • Untuk mengatur pelaksanaan selari, adalah dicadangkan untuk menggunakan kelas dengan atribut terpencil, yang kodnya dilaksanakan sepenuhnya dalam ruang terpencil di kawasan memori yang berasingan, berinteraksi dengan proses utama dengan menghantar mesej;
  • Sokongan untuk penggunaan perpustakaan yang memudahkan sokongan dan penyahpepijatan projek web yang besar. Pelaksanaan fungsi pihak ketiga boleh disertakan dalam bentuk perpustakaan kongsi. Aplikasi boleh dibahagikan kepada bahagian dan mempercayakan pembangunan setiap bahagian kepada pasukan pengaturcara yang berasingan;
  • Satu set alat siap sedia untuk menyokong pembangunan dalam bahasa Dart, termasuk pelaksanaan pembangunan dinamik dan alatan penyahpepijatan dengan pembetulan kod segera ("edit-dan-teruskan");
  • Untuk memudahkan pembangunan dalam bahasa Dart, ia disertakan dengan SDK, pengurus pakej pub, penganalisis kod statik dart_analyzer, set perpustakaan, persekitaran pembangunan bersepadu DartPad dan pemalam berdaya Dart untuk IntelliJ IDEA, WebStorm, Emacs, Teks berganda 2 ΠΈ Vim;
  • Pakej tambahan dengan perpustakaan dan utiliti diedarkan melalui repositori pub, yang mempunyai lebih daripada 10 ribu pakej.

Sumber: opennet.ru

Tambah komen