Pengenalan Android Rust

Platform Android memberikan dukungan untuk mengembangkan komponen OS asli di Rust, bahasa pemrograman sistem modern yang memberikan jaminan keamanan memori dengan kinerja setara dengan C/C++. Rust menggunakan kombinasi pemeriksaan waktu kompilasi yang menerapkan masa pakai dan kepemilikan objek, dan pemeriksaan waktu proses yang memastikan akses memori yang valid, sehingga menghilangkan kebutuhan akan pengumpul sampah.

Rust menyediakan serangkaian fitur bahasa modern yang memungkinkan pengembang menjadi lebih produktif dan percaya diri dengan kode mereka:

  • Pemrograman bersamaan yang aman - Kemudahan yang memungkinkan pengguna untuk menulis kode thread-safe yang efisien telah memunculkan slogan Rust's Fearless Concurrency .
  • Sistem tipe ekspresif - Rust membantu mencegah bug pemrograman logis dengan mengizinkan tipe yang sangat ekspresif (seperti pembungkus Newtype, dan varian enum dengan konten).
  • Pemeriksaan Waktu Kompilasi yang Lebih Kuat - Lebih banyak bug yang tertangkap pada waktu kompilasi meningkatkan keyakinan pengembang bahwa ketika kode berhasil dikompilasi, kode tersebut berfungsi sebagaimana mestinya.
  • Kerangka Pengujian Bawaan - Rust menyediakan kerangka pengujian bawaan di mana pengujian unit dapat ditempatkan di samping implementasi yang diuji, membuat pengujian unit lebih mudah untuk disertakan.
  • Penegakan penanganan kesalahan - Fungsi dengan kegagalan yang dapat dipulihkan dapat mengembalikan tipe Result , yang akan berupa varian sukses atau varian kesalahan. Kompiler mengharuskan pemanggil untuk memeriksa dan menangani varian kesalahan dari enum Result yang dikembalikan dari pemanggilan fungsi. Hal ini mengurangi potensi bug akibat kegagalan yang tidak tertangani.
  • Inisialisasi - Rust mengharuskan setiap variabel diinisialisasi ke anggota resmi dari jenisnya sebelum digunakan, mencegah inisialisasi yang tidak disengaja ke nilai yang tidak aman.
  • Penanganan integer yang lebih aman - Semua konversi tipe integer adalah cast eksplisit. Pengembang tidak dapat melakukan transmisi secara tidak sengaja selama pemanggilan fungsi saat menetapkan ke variabel, atau saat mencoba melakukan aritmatika dengan tipe lain. Pemeriksaan overflow diaktifkan secara default di Android for Rust, yang memerlukan operasi overflow agar lebih eksplisit.

Untuk informasi lebih lanjut, lihat rangkaian postingan blog tentang dukungan Android Rust: