Pengantar Android Rust

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

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

  • Pemrograman bersamaan yang aman - Kemudahan yang memungkinkan pengguna untuk menulis kode thread-safe yang efisien telah memunculkan slogan Konkurensi Fearless dari Rust.
  • Sistem tipe ekspresif - Rust membantu mencegah bug pemrograman logis dengan memungkinkan 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 kepercayaan pengembang bahwa ketika kode berhasil dikompilasi, kode berfungsi sebagaimana dimaksud.
  • Kerangka Pengujian Bawaan - Rust menyediakan kerangka kerja pengujian bawaan di mana pengujian unit dapat ditempatkan di samping implementasi yang mereka uji, membuat pengujian unit lebih mudah untuk disertakan.
  • Penegakan penanganan kesalahan - Fungsi dengan kegagalan yang dapat dipulihkan dapat mengembalikan jenis Hasil , yang akan berupa varian sukses atau varian kesalahan. Kompiler membutuhkan pemanggil untuk memeriksa dan menangani varian kesalahan dari enum Result yang dikembalikan dari pemanggilan fungsi. Ini mengurangi potensi bug yang dihasilkan dari kegagalan yang tidak ditangani.
  • Inisialisasi - Rust mengharuskan setiap variabel diinisialisasi ke anggota legal dari jenisnya sebelum digunakan, mencegah inisialisasi yang tidak disengaja ke nilai yang tidak aman.
  • Penanganan integer yang lebih aman - Semua konversi tipe integer adalah pemeran eksplisit. Pengembang tidak dapat secara tidak sengaja mentransmisikan selama panggilan fungsi saat menetapkan ke variabel, atau ketika mencoba melakukan aritmatika dengan tipe lain. Pemeriksaan overflow diaktifkan secara default di Android untuk Rust, yang memerlukan operasi overflow menjadi eksplisit.

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