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