Giới thiệu về Android Rust

Nền tảng Android hỗ trợ phát triển các thành phần hệ điều hành gốc trong Rust, một ngôn ngữ lập trình hệ thống hiện đại đảm bảo an toàn bộ nhớ với hiệu suất tương đương với C/C++. Rust sử dụng kết hợp các bước kiểm tra thời gian biên dịch để thực thi thời gian hoạt động và quyền sở hữu của đối tượng, cũng như các bước kiểm tra thời gian chạy để đảm bảo quyền truy cập bộ nhớ hợp lệ, nhờ đó không cần đến trình thu gom rác.

Rust cung cấp một loạt các tính năng ngôn ngữ hiện đại cho phép nhà phát triển làm việc hiệu quả hơn và tự tin hơn trong mã của họ:

  • Lập trình đồng thời an toàn – Việc cho phép người dùng viết mã hiệu quả, an toàn cho luồng một cách dễ dàng đã tạo ra khẩu hiệu Fearless Concurrency (Đồng thời không sợ hãi) của Rust.
  • Hệ thống loại biểu đạt – Rust giúp ngăn chặn các lỗi lập trình logic bằng cách cho phép các loại biểu đạt cao (chẳng hạn như trình bao bọc Newtype và các biến thể enum có nội dung).
  • Kiểm tra thời gian biên dịch mạnh mẽ hơn – Việc phát hiện được nhiều lỗi hơn tại thời điểm biên dịch sẽ giúp nhà phát triển tự tin hơn rằng khi biên dịch thành công, mã sẽ hoạt động như dự kiến.
  • Khung kiểm thử tích hợp – Rust cung cấp một khung kiểm thử tích hợp mà bạn có thể đặt kiểm thử đơn vị cùng với quá trình triển khai mà chúng kiểm thử, giúp bạn dễ dàng đưa kiểm thử đơn vị vào.
  • Thực thi xử lý lỗi – Các hàm có lỗi có thể khôi phục có thể trả về một Loại kết quả, đây sẽ là một biến thể thành công hoặc một biến thể lỗi. Trình biên dịch yêu cầu phương thức gọi kiểm tra và xử lý biến thể lỗi của enum Result được trả về từ lệnh gọi hàm. Điều này giúp giảm khả năng xảy ra lỗi do các lỗi không được xử lý.
  • Khởi tạo – Rust yêu cầu mọi biến phải được khởi tạo thành một thành phần hợp lệ thuộc loại của biến đó trước khi sử dụng, nhằm ngăn việc khởi tạo vô tình thành một giá trị không an toàn.
  • Xử lý số nguyên an toàn hơn – Tất cả các lượt chuyển đổi kiểu số nguyên đều là các lượt truyền rõ ràng. Nhà phát triển không thể vô tình truyền trong lệnh gọi hàm khi chỉ định cho một biến hoặc khi cố gắng thực hiện phép tính với các loại khác. Tính năng kiểm tra tình trạng tràn được bật theo mặc định trong Android cho Rust, yêu cầu các thao tác tràn phải rõ ràng.

Để biết thêm thông tin, hãy xem loạt bài đăng trên blog về tính năng hỗ trợ Rust cho Android: