Platform Android menyediakan dukungan untuk mengembangkan komponen OS native di Rust, bahasa pemrograman sistem modern yang memberikan jaminan keamanan memori dengan performa setara dengan C/C++. Rust menggunakan kombinasi pemeriksaan waktu kompilasi yang memberlakukan masa aktif objek dan kepemilikan, serta pemeriksaan runtime yang memastikan akses memori, sehingga menghilangkan kebutuhan akan pembersih sampah memori.
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 enum varian dengan konten).
- Pemeriksaan Waktu Kompilasi yang Lebih Kuat - Lebih banyak bug yang tertangkap pada waktu kompilasi meningkatkan kepercayaan developer bahwa saat kode berhasil dikompilasi, kode tersebut berfungsi seperti yang diinginkan.
- Framework Pengujian Bawaan - Rust menyediakan framework pengujian bawaan di mana pengujian unit dapat ditempatkan bersama implementasi yang mereka uji, sehingga pengujian unit lebih mudah disertakan.
- Penerapan penanganan error - Fungsi dengan kegagalan yang dapat dipulihkan dapat
tampilkan Jenis hasil,
yang bisa berupa varian berhasil atau varian error. Compiler
memerlukan pemanggil untuk memeriksa dan menangani varian error enum
Result
yang ditampilkan dari panggilan fungsi. Hal ini mengurangi potensi {i>bug <i}yang dihasilkan dari kegagalan yang tidak tertangani. - 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 menugaskan variabel, atau saat mencoba melakukan aritmatika dengan jenis lain. Menu tambahan pemeriksaan diaktifkan secara default di Android untuk Rust, yang memerlukan menjadi eksplisit.
Untuk informasi selengkapnya, lihat serangkaian postingan blog tentang dukungan Android Rust:
- Rust di Platform Android
Memberikan ringkasan tentang alasan tim Android memperkenalkan Rust sebagai bahasa platform baru. - Mengintegrasikan Rust ke dalam Project Open Source Android
Mendiskusikan bagaimana dukungan Rust telah diperkenalkan ke sistem build, dan alasan keputusan desain tertentu dibuat. - Interop Rust/C++ di Platform Android
Membahas pendekatan terhadap interoperabilitas Rust/C++ dalam Android.