Die Android-Plattform unterstützt die Entwicklung nativer Betriebssystemkomponenten eine moderne Systemprogrammiersprache, die Sicherheit im Speicher mit die der Leistung in C/C++ entspricht. Rust verwendet eine Kombination aus Prüfungen während der Kompilierung die Objektlebensdauer und -eigentümerschaft erzwingen, sowie Laufzeitprüfungen, die sicherstellen, Speicherzugriffe, wodurch die Notwendigkeit einer automatischen Speicherbereinigung entfällt.
Rust bietet eine Reihe moderner Sprachfunktionen, mit denen Entwickler produktiver und selbstbewusster im Code arbeiten kann:
- Sichere parallele Programmierung: Die Leichtigkeit, mit der Nutzer effizienten, threadsicheren Code schreiben können, hat zu dem Slogan Fearless Concurrency („Furchtlose Parallelität“) von Rust geführt.
- Ausdrucksfähiges Typsystem – Rust verhindert logische Programmierfehler durch und ausdrucksstarke Typen wie Newtype-Wrapper und Aufzählung Varianten mit Inhalten).
- Strengere Prüfungen zur Kompilierungszeit: Je mehr Fehler bei der Kompilierung erkannt werden, desto sicherer können sich Entwickler sein, dass der Code funktioniert, wenn er erfolgreich kompiliert wird.
- Integriertes Test-Framework: Rust bietet ein integriertes Test-Framework, in dem Unit-Tests neben der zu testenden Implementierung platziert werden können, was die Einbindung von Unit-Tests erleichtert.
- Erzwingung von Fehlern – Funktionen mit behebbaren Fehlern
einen Ergebnistyp zurückgeben,
eine Erfolgs- oder Fehlervariante. Der Compiler
erfordert, dass Aufrufer nach der Fehlervariante einer
Result
-Enum suchen und diese verarbeiten können. die von einem Funktionsaufruf zurückgegeben wurden. Dadurch wird das Risiko von Programmfehlern verringert, vor unbehandelten Fehlern zu schützen. - Initialisierung: In Rust muss jede Variable vor der Verwendung mit einem zulässigen Mitglied ihres Typs initialisiert werden, um eine unbeabsichtigte Initialisierung mit einem unsicheren Wert zu verhindern.
- Sicherere Ganzzahlverarbeitung: Alle Ganzzahlkonvertierungen sind explizite Umwandlungen. Entwickler können während eines Funktionsaufrufs nicht versehentlich streamen, wenn sie oder wenn Sie versuchen, mit anderen Typen arithmetisch zu rechnen. Überlauf Die Überprüfung ist in Android für Rust standardmäßig aktiviert, was einen Überlauf erfordert. um explizit zu sein.
Weitere Informationen finden Sie in den Blogposts zur Unterstützung von Android Rust:
- Rust in der Android-Plattform
Bietet einen Überblick darüber, warum das Android-Team Rust als neue Plattformsprache eingeführt hat. - Integration von Rust in das Open-Source-Projekt von Android
Erörtert, wie Rust-Unterstützung in das Build-System eingeführt wurde und warum bestimmte Designentscheidungen getroffen wurden. - Rust-/C++-Interoperabilität auf der Android-Plattform
Erörtert den Ansatz der Rust/C++-Interoperabilität innerhalb von Android.