บทนำ Android Rust

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

Rust นำเสนอฟีเจอร์ภาษาสมัยใหม่มากมาย ซึ่งช่วยให้นักพัฒนาทำงานได้อย่างมีประสิทธิภาพและมั่นใจในโค้ดของตนมากขึ้น:

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

สำหรับข้อมูลเพิ่มเติม โปรดดูชุดของบล็อกโพสต์เกี่ยวกับการสนับสนุน Android Rust: