Nền tảng Android hỗ trợ phát triển các thành phần hệ điều hành gốc ở Rust, một ngôn ngữ lập trình hệ thống hiện đại đưa ra đảm bảo về an toàn bộ nhớ bằng 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 vòng đời và quyền sở hữu của đối tượng, cũng như kiểm tra trong thời gian chạy để đảm bảo tính hợp lệ truy cập bộ nhớ, do đó 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 – Khả năng dễ dàng mà điều này cho phép người dùng việc ghi mã hiệu quả, an toàn cho luồng đã làm tăng Cơ chế đồng thời dễ dàng khẩu hiệu.
- 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 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à các bài kiểm thử đó kiểm tra, 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ề 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 chưa được xử lý. - Khởi chạy – Rust yêu cầu khởi động mọi biến với một giá trị hợp lệ thành phần thuộc loại đó trước khi sử dụng, ngăn chặn việc khởi chạy 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. Tràn tính năng kiểm tra được bật theo mặc định trong Android cho Rust (yêu cầu tràn các thao tác phải rõ ràng.
Để biết thêm thông tin, hãy xem loạt bài đăng trên blog về việc hỗ trợ Android Rust:
- 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
Trình bày 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 của Rust/C++ trong Nền tảng Android
Thảo luận về phương pháp tương tác Rust/C++ trong Android.