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

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

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

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

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