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