Nền tảng Android cung cấp 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 cung cấp đả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 kiểm tra thời gian biên dịch để thực thi thời gian tồn tại và quyền sở hữu của đối tượng cũng như kiểm tra thời gian chạy để đảm bảo truy cập bộ nhớ hợp lệ, do đó loại bỏ sự cần thiết của bộ 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 các nhà phát triển làm việc hiệu quả hơn và tự tin vào 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 theo luồng đã tạo nên khẩu hiệu Fearless Concurrency của Rust.
- Hệ thống kiểu biểu cảm - 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 kiểu biểu cảm 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 được phát hiện hơn trong thời gian biên dịch làm tăng niềm tin của nhà phát triển rằng khi mã biên dịch thành công, nó sẽ hoạt động như dự định.
- Khung thử nghiệm tích hợp - Rust cung cấp khung thử nghiệm tích hợp trong đó các thử nghiệm đơn vị có thể được đặt cùng với việc triển khai mà chúng thử nghiệm, giúp kiểm thử đơn vị dễ dàng hơn.
- 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à 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ời gọi hàm. Điều này làm giảm khả năng xuất hiện lỗi do các lỗi chưa được khắc phục. - Khởi tạo - Rust yêu cầu mọi biến phải được khởi tạo cho một thành viên hợp pháp của loại nó trước khi sử dụng, ngăn chặn việc khởi tạo không chủ ý 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 chuyển đổi kiểu số nguyên đều là các chuyển đổi rõ ràng. Các nhà phát triển không thể vô tình ép kiểu trong khi gọi hàm khi gán cho một biến hoặc khi cố gắng thực hiện số học với các kiểu khác. Kiểm tra tràn được bật theo mặc định trong Android for Rust, điều này yêu cầu các hoạt động 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ề hỗ trợ Android Rust:
- Rust trong nền tảng Android
Cung cấp tổng quan về lý do tại sao 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
Thảo luận về cách hỗ trợ Rust đã được đưa vào hệ thống xây dựng và lý do tại sao các quyết định thiết kế nhất định được đưa ra. - Tương tác Rust / C ++ trong Nền tảng Android
Thảo luận về cách tiếp cận khả năng tương tác Rust / C ++ trong Android.