Hari ini (8 Mei 2019) kami mengumumkan rilis Dart 2.3 SDK dengan konstruksi bahasa baru yang meningkatkan pengalaman pengembangan Anda saat membuat antarmuka pengguna, dukungan baru untuk alat pengembangan Flutter UI, dan dua situs web baru: dart.dev dan pub.dev .

Momentum percepatan
Setiap tahun, kami menantikan Survei Pengembang StackOverflow untuk para pengembang, yang menyediakan serangkaian data lengkap tentang tren pengembangan dan suasana hati para pengembang mengenai berbagai teknologi. Tahun ini, data menunjukkan peningkatan popularitas dan kesadaran Dart, yang pertama kali masuk dalam daftar bahasa favorit dan mengambil tempat di samping bahasa populer lainnya seperti JavaScript, C # dan Go dan selanjutnya seperti C ++, F # dan R. Pada saat yang sama Pada saat itu, teman baik kami di komunitas Flutter
menempati posisi ketiga dalam daftar kerangka kerja favorit kami . Bulan lalu, di Codementor, survei tentang bahasa pemrograman mana yang harus dan tidak boleh diajarkan juga melaporkan kabar baik:
"Dua bahasa pemrograman yang benar-benar mendapatkan gelar" Paling Mahir "adalah Dart dan Ruby." Codementor, April 2019 [sumber]
Kami ingin mengucapkan terima kasih kepada semua pengembang di komunitas Dart. Sangat penting bagi kami untuk melihat bagaimana Anda menerima Dart, memberikan umpan balik, dan terus bersama kami ketika kami mencoba menciptakan bahasa yang dioptimalkan klien terbaik untuk aplikasi cepat yang bekerja pada platform apa pun.
Fitur bahasa baru untuk pengembangan antarmuka pengguna
Berbicara tentang pengembangan "klien", penting untuk mengatakan bahwa salah satu proyek bersama lama dari tim Dart dan Flutter memberikan peluang luar biasa untuk membuat antarmuka pengguna menggunakan Dart tanpa perlu bahasa markup. Kami percaya bahwa menggunakan satu bahasa untuk perilaku dan presentasi memiliki keuntungan yang cukup. Ini termasuk mengurangi sakelar konteks, tidak perlu mempelajari dua bahasa, dan menyediakan penggunaan semua abstraksi dari bahasa pemrograman tujuan umum saat membuat antarmuka pengguna.
Selama beberapa rilis terakhir, kami telah membuat beberapa peningkatan, seperti menyederhanakan kode untuk membuat widget , menambahkan konversi int-to-double otomatis , dan menambahkan Set literals . Di Dart 2.3, kami mengambil langkah besar ke depan dengan tiga desain baru untuk membuat antarmuka pengguna untuk daftar, kondisi, dan pengulangan dalam daftar.
UI dapat dianggap sebagai pohon node widget. Beberapa node berisi daftar widget, misalnya, daftar item yang dapat digulir. Seringkali daftar ini disusun dari daftar lain. Untuk melakukan ini, kami menambahkan operator spread untuk ""
elemen dari satu daftar ke yang lain. Dalam contoh berikut, buildMainElements()
mengembalikan daftar widget, yang kemudian dibongkar ke daftar eksternal menggunakan operator spread โฆ
:
Widget build(BuildContext context) { return Column(children: [ Header(), ...buildMainElements(), Footer(), ]); }
Tugas antarmuka pengguna umum lainnya adalah memasukkan item tertentu berdasarkan suatu kondisi. Misalnya, Anda dapat mengaktifkan tombol Berikutnya di semua halaman kecuali yang terakhir. Dengan Dart 2.3, Anda dapat melakukan ini menggunakan koleksi jika :
Widget build(BuildContext context) { return Column(children: [ Text(mainText), if (page != pages.last) FlatButton(child: Text('Next')), ]); }
Akhirnya, seringkali perlu untuk membuat daftar elemen duplikat. Anda dapat membuat daftar seperti itu menggunakan koleksi untuk :
Widget build(BuildContext context) { return Column(children: [ Text(mainText), for (var section in sections) HeadingAction(section.heading), ]); }
Karena ini adalah tiga fitur baru bahasa, bukan markup, mereka dapat digunakan dalam konteks mana pun Anda bekerja dengan koleksi. Desain ini termasuk dalam rilis Flutter 1.5 dan tersedia dalam rilis Dart 2.3 , yang sudah dapat Anda unduh. Kami juga menambahkan aturan baru yang dapat Anda konfigurasikan di penganalisa sehingga penggunaan spread baru, koleksi jika, dan koleksi untuk fitur direkomendasikan.
Untuk informasi lebih lanjut tentang semua pekerjaan yang telah dilakukan untuk menambahkan fitur-fitur ini, lihat artikel terbaru oleh Bob Nystrom (alias munificentbob ), seorang insinyur di tim Dart.
Kami juga ingin menyampaikan terima kasih kepada pengembang yang berpartisipasi dalam penelitian UX, yang penting untuk pembentukan konstruksi bahasa baru ini.
Fitur IDE dan editor
Selain peningkatan pengembangan pada Dart, kami juga telah memperluas dukungan untuk IDE dengan menambahkan fungsionalitas UI Guides
baru. UI Guides
adalah garis horizontal dan vertikal yang ditampilkan dalam kode antarmuka pengguna, yang membuatnya mudah untuk melihat struktur struktur metode build ()
di Flutter. Di bawah ini adalah contoh (dari aplikasi Kalkulator) di mana UI Guides
menunjukkan bahwa antarmuka pengguna dibangun dari Expanded Column
berisi beberapa KeyRows
, yang masing-masing berisi NumberKeys
.

UI Guides
tersedia dalam versi 35.2 dari plugin untuk IntelliJ IDEA dan Android Studio. Untuk mengaktifkan, pilih Preferences > Languages & Frameworks > Flutter > UI Guides
. Kami berharap dapat menambahkan dukungan serupa ke VS Code di rilis selanjutnya.
Akhirnya, kami memperhatikan bahwa pengembang sering menggunakan pelengkapan kode dalam IDE mereka untuk mempelajari API. Penyelesaian kode berfungsi dengan baik untuk mempelajari API di perpustakaan yang sudah Anda impor, tetapi itu tidak tersedia untuk API di perpustakaan yang belum diimpor. Alat kami sekarang dapat mendukung kasus penggunaan terakhir: Anda dapat menyebabkan penyelesaian kode untuk awalan apa pun, dan Anda akan melihat pengakhiran untuk semua API dalam paket saat ini, paket yang bergantung langsung padanya, dan SDK. Jika Anda memilih penyelesaian dari perpustakaan yang belum diimpor (ditandai Auto import
, seperti yang ditunjukkan pada animasi berikutnya), alat akan menambahkan pernyataan impor untuk Anda.

Fitur impor otomatis ini tersedia dalam VS Code di plugin Dart dari versi 2.26 , di IntelliJ 2019.1 dan rilis Android Studio 3.5 mendatang.
Situs Dart dan Pub Baru
Terakhir, namun tidak kalah pentingnya, beberapa bulan terakhir kami sangat sibuk membuat situs web baru untuk platform Dart: dart.dev

Situs ini memiliki beranda yang sepenuhnya diperbarui, berfokus pada menjelaskan keuntungan utama dari platform Dart. Kami juga telah memperbarui halaman dokumentasi untuk memiliki navigasi yang lebih baik dan daya tarik visual yang lebih besar. Akhirnya, kami membuat reorganisasi besar-besaran dari semua konten untuk membuatnya lebih mudah ditemukan, dan menambahkan halaman baru untuk konten utama yang sebelumnya tidak ada.
Demikian pula, kami memperbarui situs paket Pub secara visual dan memindahkannya ke URL baru yang nyaman: pub.dev
Kami menantikan tanggapan Anda di kedua situs. Jika Anda menemukan masalah atau memiliki saran, silakan buat issue
di pelacak masalah dart.dev atau masalah pub.dev . Terima kasih atas dukungan Anda!