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 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 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 dễ dàng cho phép người dùng viết mã hiệu quả, an toàn cho luồng đã làm tăng khẩu hiệu Fearless Concurrency của Rust.
- Hệ thống kiểu biểu thức – Rust giúp ngăn chặn lỗi lập trình logic bằng cách cho phép các kiểu có tính 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 hơn – Nhiều lỗi phát hiện hơn vào thời gian biên dịch giúp nhà phát triển tin tưởng hơn rằng khi biên dịch thành công mã thì mã sẽ hoạt động như dự kiến.
- Khung kiểm thử tích hợp sẵn – Rust cung cấp một khung kiểm thử tích hợp sẵn, trong đó bạn có thể đặt các bài 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 các bài 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ề Loại kết quả. Đây sẽ là biến thể thành công hoặc 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 làm giảm nguy cơ xảy ra lỗi do lỗi chưa đượ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, ngăn việc khởi tạo ngoài ý muốn 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:
- Rust trong Nền tảng Android
Cung cấp thông tin tổng quan về lý do nhóm Android giới thiệu Rust làm ngôn ngữ nền tảng mới. - Tích hợp Rust vào Dự án nguồn mở Android
Discusses how Rust support has been introduced to the build system, and why certain design decisions were made. Thảo luận về cách hỗ trợ Rust được đưa vào hệ thống xây dựng và lý do đưa ra một số quyết định thiết kế nhất định. - Khả năng tương tác Rust/C++ trong Nền tảng Android
Discusses the approach to Rust/C++ interoperability within Android. Thảo luận về phương pháp tương tác Rust/C++ trong Android.