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

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

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

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

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