แพลตฟอร์ม Android จะรองรับการพัฒนาคอมโพเนนต์ระบบปฏิบัติการในเครื่องใน Rust ภาษาโปรแกรมระบบสมัยใหม่ที่ให้การรับประกันความปลอดภัยด้านหน่วยความจำด้วย ประสิทธิภาพเทียบเท่ากับ C/C++ Rust ใช้การตรวจสอบเวลาคอมไพล์ร่วมกัน ที่บังคับใช้อายุการใช้งานและการเป็นเจ้าของออบเจ็กต์ รวมถึงการตรวจสอบรันไทม์เพื่อให้แน่ใจว่าถูกต้อง การเข้าถึงหน่วยความจำ จึงช่วยลดความจำเป็นในการใช้รถเก็บขยะ
Rust มีฟีเจอร์ภาษาที่ทันสมัยมากมายที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถ มีประสิทธิภาพการทำงานและมั่นใจในโค้ดมากยิ่งขึ้น:
- การเขียนโปรแกรมพร้อมกันที่ปลอดภัย - ความสะดวกในการช่วยให้ผู้ใช้สามารถ ในการเขียนที่มีประสิทธิภาพ โค้ดที่ปลอดภัยของชุดข้อความทำให้ Rust การใช้งานพร้อมกันโดยไม่กลัว สโลแกน
- ระบบประเภทด่วน - Rust ช่วยป้องกันข้อบกพร่องในการเขียนโปรแกรมเชิงตรรกะโดย ทำให้ใช้ประเภทที่แสดงผลได้รวดเร็วมาก (เช่น Newtype Wrapper และ enum ตัวแปรที่มีเนื้อหา)
- การตรวจสอบเวลาคอมไพล์เพิ่มขึ้น - ข้อบกพร่องที่ตรวจพบในขณะคอมไพล์เพิ่มขึ้น นักพัฒนาซอฟต์แวร์มั่นใจว่าเมื่อคอมไพล์โค้ดเสร็จเรียบร้อยแล้ว โค้ดจะทำหน้าที่เป็น อย่างที่ควรจะเป็น
- กรอบการทดสอบในตัว - Rust มีเฟรมเวิร์กการทดสอบในตัว โดยสามารถวางการทดสอบ 1 หน่วยควบคู่ไปกับการใช้งานที่ทดสอบ ซึ่งทำให้ รวมการทดสอบหน่วยต่างๆ ได้ง่ายขึ้น
- การบังคับใช้การจัดการข้อผิดพลาด - ฟังก์ชันที่เกิดความล้มเหลวซึ่งแก้ไขได้จะแสดงประเภทผลลัพธ์ ซึ่งจะเป็นตัวแปรที่สำเร็จหรือตัวแปรข้อผิดพลาด คอมไพเลอร์กำหนดให้ผู้เรียกตรวจสอบและจัดการตัวแปรข้อผิดพลาดของ
Result
enum ที่แสดงผลจากการเรียกฟังก์ชัน ซึ่งจะช่วยลดโอกาสที่จะเกิดข้อบกพร่องที่เกิดจากข้อผิดพลาดที่ไม่ได้รับการจัดการ - การเริ่มต้น - Rust กำหนดให้ตัวแปรทั้งหมดต้องกำหนดค่าเริ่มต้นเป็น ของสมาชิกในประเภทก่อนใช้งาน และป้องกันการเริ่มต้นโดยไม่ตั้งใจ เป็นค่าที่ไม่ปลอดภัย
- การจัดการจำนวนเต็มที่ปลอดภัยยิ่งขึ้น - Conversion ประเภทจำนวนเต็มทั้งหมดเป็นการแคสต์อย่างชัดแจ้ง นักพัฒนาแอปจะไม่เผลอแคสต์ในระหว่างการเรียกใช้ฟังก์ชันเมื่อมอบหมาย หรือเมื่อพยายามคำนวณตัวแปรกับประเภทอื่นๆ ขึ้นต้นบรรทัดในเซลล์ใหม่ การตรวจสอบจะเปิดอยู่โดยค่าเริ่มต้นใน Android สำหรับ Rust ซึ่งต้องมีรายการเพิ่มเติม การดำเนินงานที่ชัดเจน
สำหรับข้อมูลเพิ่มเติม โปรดดูชุดบล็อกโพสต์เกี่ยวกับการสนับสนุนของ Android Rust
- เกิดการเปลี่ยนแปลงในแพลตฟอร์ม Android
ให้ภาพรวมว่าเหตุใดทีม Android จึงเปิดตัว Rust เป็น ภาษาแพลตฟอร์ม - การผสานรวม Rust เข้ากับโปรเจ็กต์โอเพนซอร์ส Android
อธิบายว่ามีการใช้การสนับสนุน Rust ในระบบบิลด์ได้อย่างไรและเพราะเหตุใด เกิดการตัดสินใจเกี่ยวกับการออกแบบบางอย่างขึ้น - การทำงานร่วมกันของ Rust/C++ ในแพลตฟอร์ม Android
อภิปรายแนวทางการทำงานร่วมกันของ Rust/C++ ภายใน Android