ข้อมูลเบื้องต้นเกี่ยวกับ Rust สำหรับ Android

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

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

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

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