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 bằng Rust, một ngôn ngữ lập trình hệ thống hiện đại đảm bảo an toàn cho 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 quy trình kiểm tra tại thời gian biên dịch để thực thi quyền sở hữu và thời gian tồn tại của đối tượng, cũng như các quy trình kiểm tra tại thời gian chạy để đảm bảo quyền truy cập bộ nhớ hợp lệ, nhờ đó loại bỏ nhu cầu sử dụng 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, giúp nhà phát triển làm việc hiệu quả hơn và tự tin hơn về mã của họ:

  • Lập trình đồng thời an toàn – Sự dễ dàng mà điều này cho phép người dùng viết mã hiệu quả, an toàn cho luồng đã dẫn đến khẩu hiệu Đồng thời không lo sợ của Rust.
  • Hệ thống loại biểu thức – 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 có tính biểu thức 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 chặt chẽ hơn – Nhiều lỗi hơn được phát hiện tại thời gian biên dịch giúp tăng sự tin tưởng của nhà phát triển rằng khi mã 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, trong đó các kiểm thử đơn vị có thể được đặt 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ả, đó 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 người gọi kiểm tra và xử lý biến thể lỗi của một enum Result được trả về từ mộ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 pháp thuộc loại của biến đó trước khi sử dụng, ngăn chặ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 truyền rõ ràng. Nhà phát triển không thể vô tình truyền trong quá trì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 số học với các loại khác. Theo mặc định, tính năng kiểm tra tràn được bật 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 trên Android: