Android platformu, Rust'ta yerel işletim sistemi bileşenleri geliştirmeyi destekler. Rust, C/C++ ile eşdeğer performansla bellek güvenliği garantileri sağlayan modern bir sistem programlama dilidir. Rust, nesne ömrünü ve sahipliğini zorunlu kılan derleme zamanı kontrolleri ile geçerli bellek erişimlerini sağlayan çalışma zamanı kontrollerinin bir kombinasyonunu kullanır. Böylece, çöp toplayıcıya olan ihtiyaç ortadan kalkar.
Rust, geliştiricilerin kodlarında daha üretken ve güvenli olmalarını sağlayan çeşitli modern dil özellikleri sunar:
- Güvenli eşzamanlı programlama: Kullanıcıların verimli ve iş parçacığı açısından güvenli kod yazmasına olanak tanıyan bu kolaylık, Rust'ın Korkusuz Eşzamanlılık sloganını ortaya çıkarmıştır.
- İfade edici tür sistemi: Rust, oldukça ifade edici türlere (ör. Newtype sarmalayıcıları ve içerikli enum varyantları) izin vererek mantıksal programlama hatalarını önlemeye yardımcı olur.
- Daha güçlü derleme zamanı kontrolleri: Derleme zamanında daha fazla hata yakalanması, geliştiricilerin kod başarıyla derlendiğinde beklendiği gibi çalıştığına dair güvenini artırır.
- Yerleşik Test Çerçevesi: Rust, birim testlerinin test ettikleri uygulamayla birlikte yerleştirilebileceği yerleşik bir test çerçevesi sunar. Bu sayede birim testleri daha kolay dahil edilebilir.
- Hata işleme zorunluluğu: Kurtarılabilir hatalara sahip işlevler, Sonuç türü döndürebilir. Bu tür, başarılı bir varyant veya hatalı bir varyant olabilir. Derleyici, arayanların bir işlev çağrısından döndürülen
Result
enum'unun hata varyantını kontrol etmesini ve işlemesini zorunlu kılar. Bu, işlenmemiş hatalardan kaynaklanan hataların olasılığını azaltır. - Başlatma: Rust, her değişkenin kullanılmadan önce türünün yasal bir üyesi olarak başlatılmasını gerektirir. Bu sayede, güvenli olmayan bir değere yönelik istenmeyen başlatma işlemleri önlenir.
- Daha güvenli tam sayı işleme: Tüm tam sayı türü dönüşümler açık yayınlardır. Geliştiriciler, bir değişkene atama yaparken veya diğer türlerle aritmetik işlem yapmaya çalışırken işlev çağrısı sırasında yanlışlıkla yayın yapamaz. Taşma kontrolü, Android'de Rust için varsayılan olarak etkindir. Bu nedenle, taşma işlemlerinin açıkça belirtilmesi gerekir.
Daha fazla bilgi için Android'de Rust desteğiyle ilgili blog yayınlarına göz atın:
- Android Platformunda Rust
Android ekibinin neden yeni bir platform dili olarak Rust'ı tanıttığına dair genel bir bakış sunar. - Rust'ı 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ı açıklar. - Android Platformunda Rust/C++ birlikte çalışabilirliği
Android'de Rust/C++ birlikte çalışabilirliği yaklaşımı ele alınır.