Pengantar Android Rust

Platform Android menyediakan dukungan untuk mengembangkan komponen OS native di Rust, bahasa pemrograman sistem modern yang memberikan jaminan keamanan memori dengan performa yang setara dengan C/C++. Rust menggunakan kombinasi pemeriksaan waktu kompilasi yang menerapkan masa aktif dan kepemilikan objek, serta pemeriksaan runtime yang memastikan akses memori yang valid, sehingga menghilangkan kebutuhan untuk pengumpulan sampah.

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

  • Pemrograman serentak yang aman - Kemudahan yang memungkinkan pengguna menulis kode yang efisien dan aman untuk thread telah memunculkan slogan Fearless Concurrency Rust.
  • Sistem jenis ekspresif - Rust membantu mencegah bug pemrograman logis dengan memungkinkan jenis yang sangat ekspresif (seperti wrapper Newtype, dan varian enum dengan konten).
  • Pemeriksaan Waktu Kompilasi yang Lebih Kuat - Lebih banyak bug yang ditemukan pada waktu kompilasi meningkatkan kepercayaan developer bahwa saat berhasil dikompilasi, kode akan berfungsi seperti yang diinginkan.
  • Framework Pengujian Bawaan - Rust menyediakan framework pengujian bawaan tempat pengujian unit dapat ditempatkan bersama implementasi yang diuji, sehingga pengujian unit lebih mudah disertakan.
  • Penerapan penanganan error - Fungsi dengan kegagalan yang dapat dipulihkan dapat menampilkan Jenis hasil, yang akan berupa varian sukses atau varian error. Compiler memerlukan pemanggil untuk memeriksa dan menangani varian error enum Result yang ditampilkan dari panggilan fungsi. Hal ini mengurangi potensi bug yang dihasilkan dari kegagalan yang tidak ditangani.
  • Inisialisasi - Rust mewajibkan setiap variabel diinisialisasi ke anggota yang sah dari jenisnya sebelum digunakan, sehingga mencegah inisialisasi yang tidak disengaja ke nilai yang tidak aman.
  • Penanganan bilangan bulat yang lebih aman - Semua konversi jenis bilangan bulat adalah transmisi eksplisit. Developer tidak dapat melakukan transmisi secara tidak sengaja selama panggilan fungsi saat menetapkan ke variabel, atau saat mencoba melakukan aritmetika dengan jenis lain. Pemeriksaan overflow diaktifkan secara default di Android untuk Rust, yang mengharuskan operasi overflow bersifat eksplisit.

Untuk informasi selengkapnya, lihat serangkaian postingan blog tentang dukungan Android Rust: