Wprowadzenie do Rust na Androida

Platforma Android zapewnia wsparcie przy tworzeniu natywnych komponentów systemu operacyjnego w języku Rust, nowoczesnego języka programowania systemów, który zapewnia gwarancje bezpieczeństwa pamięci, jak w języku C/C++. Rust korzysta z kombinacji kontroli podczas kompilacji wymuszające okres istnienia obiektu i jego własność, oraz kontrole w czasie działania zapewniające prawidłowe dostępu do pamięci, eliminując potrzebę użycia modułu do czyszczenia pamięci.

Rust oferuje wiele nowoczesnych funkcji językowych, które pozwalają programistom bardziej wydajny i pewny kod:

  • Bezpieczne programowanie równoległe – łatwość, z jaką użytkownicy mogą pisać wydajny kod bezpieczny w zakresie wątków, zaowocowała hasłem Bezpieczne równoległość.
  • System typów o wyraźnym znaczeniu – Rust zapobiega błędom logicznego programowania, zezwalając na typy o wyraźnym znaczeniu (takie jak opakowania typu Newtype i warianty enum z zawartością).
  • Silniejsze testy podczas kompilacji – więcej błędów wykrywanych podczas wydłużania czasu kompilowania i mają pewność, że poprawnie skompilowany kod będzie działać zamierzone.
  • Wbudowany framework testowy – Rust zawiera wbudowany framework testowy, w którym testy jednostkowe można umieszczać obok implementacji, co ułatwia uwzględnianie testów jednostkowych.
  • Egzekwowanie obsługi błędów – funkcje z odwracalnymi błędami mogą zwracać typ wyniku, który będzie albo wariantem powodzenia, albo wariantem błędu. Kompilator wymaga, aby wywołujący sprawdzali i obsługiwali wariant błędu typu Result zwracanego przez wywołanie funkcji. Zmniejsza to liczbę błędów spowodowanych przez z nieobsłużonych błędów.
  • Inicjacja – Rust wymaga, aby każda zmienna była zainicjowana w klasie prawnej należy do odpowiedniego typu przed użyciem, co zapobiega przypadkowemu zainicjowaniu. na niebezpieczną wartość.
  • Bezpieczniejsze przetwarzanie liczb całkowitych – wszystkie konwersje typu liczba całkowita są jawnymi konwersjami. Deweloperzy nie mogą przypadkowo rzutować podczas wywołania funkcji, przy przypisywaniu zmiennej ani podczas próby wykonania działania arytmetycznego z innymi typami. Rozwiń menu Sprawdzanie jest domyślnie włączone w Androidzie w wersji Rust, co wymaga nadmiaru operacji na jawne.

Więcej informacji znajdziesz w serii postów na blogu na temat obsługi Androida w języku Rust: