Android platformu, C/C++'ya eşdeğer performansla bellek güvenliği garantileri sunan modern bir sistem programlama dili olan Rust'ta yerel işletim sistemi bileşenleri geliştirmeyi destekler. Rust, nesne ömrünü ve sahipliğini zorunlu tutan derleme zamanı kontrollerinin yanı sıra geçerli bellek erişimlerini sağlayan çalışma zamanı kontrollerini bir arada kullanarak çöp toplayıcı ihtiyacını ortadan kaldırır.
Rust, geliştiricilerin kodlarında daha üretken ve emin olmalarını sağlayan çeşitli modern dil özellikleri sunar:
- Güvenli eşzamanlı programlama: Kullanıcıların verimli ve iş parçacığı güvenli kod yazmasına olanak tanıyan bu özelliğin kolaylığı, Rust'un Korkusuz Eşzamanlılık sloganını ortaya çıkarmıştır.
- Anlaşılır tür sistemi: Rust, son derece anlaşılır türlere (ör. yeni tür sarmalayıcılar ve içerikleri olan enum varyantları) izin vererek mantıksal programlama hatalarının önlenmesine yardımcı olur.
- Daha Güçlü Derleme Süresi Kontrolleri: Derleme zamanında yakalanan daha fazla hata, geliştiricilerin, kod başarıyla derlendiğinde amaçlandığı gibi çalıştığına dair güvenini artırır.
- Yerleşik Test Çerçevesi: Rust, test ettikleri uygulamanın yanında birim testlerinin de yerleştirilebileceği yerleşik bir test çerçevesi sağlar. Böylece, birim testlerinin dahil edilmesi kolaylaşır.
- Zorunlu kılma işlemi hatası: Kurtarılabilir hataları olan işlevler, başarılı bir varyant veya hata varyantı olacak bir Sonuç türü döndürebilir. Derleyici, arayanların bir işlev çağrısından döndürülen
Result
enum'un hata varyantını kontrol etmesini ve işlemesini gerektirir. Bu sayede, ele alınmayan hatalardan kaynaklanan hata olasılığı azalır. - Başlatma: Rust, her değişkenin kullanılmadan önce türüne ait yasal bir öğeyle başlatılmasını zorunlu kılar. Bu sayede, değişkenler yanlışlıkla güvenli olmayan bir değerle başlatılmaz.
- Daha güvenli tam sayı işleme - Tam sayı türündeki tüm dönüşümler açık yayınlardır. Geliştiriciler, bir değişkene atama yaparken veya diğer türlerle aritmetik yapmaya çalışırken işlev çağrısı sırasında yanlışlıkla yayın yapamaz. Rust için Android'de taşma kontrolü varsayılan olarak açıktır. Bu da taşma işlemlerinin açık olmasını gerektirir.
Daha fazla bilgi için Android Rust desteğiyle ilgili blog yayınları dizisine göz atın:
- Android Platformu'nda Rust
Android ekibinin Rust'ı yeni bir platform dili olarak neden kullanıma sunduğuna dair genel bir bakış sunar. - Rust'u Android Açık Kaynak Projesi'ne entegre etme
Rust desteğinin derleme sistemine nasıl eklendiğini ve belirli tasarım kararlarının neden alındığını tartışır. - Android Platformu'nda Rust/C++ birlikte çalışabilirliği
Android'de Rust/C++ birlikte çalışabilirliği yaklaşımı ele alınmaktadır.