הקדמה של אנדרואיד Rust

פלטפורמת אנדרואיד מספקת תמיכה לפיתוח רכיבי מערכת הפעלה מקוריים ב-Rust, שפת תכנות מערכות מודרנית המספקת ערובות בטיחות זיכרון עם ביצועים מקבילים ל-C/C++. Rust משתמשת בשילוב של בדיקות זמן קומפילציה האוכפות זמן חיים ובעלות על אובייקט, ובדיקות זמן ריצה המבטיחות גישה חוקית לזיכרון, ובכך מבטלת את הצורך באוסף אשפה.

Rust מספקת מגוון תכונות שפה מודרניות המאפשרות למפתחים להיות פרודוקטיביים יותר ובטוחים בקוד שלהם:

  • תכנות בו זמנית בטוח - הקלות שבה זה מאפשר למשתמשים לכתוב קוד יעיל ובטוח בשרשור הולידה את הסלוגן Fearless Concurrency של Rust.
  • מערכת מסוג אקספרסיבי - חלודה מסייעת במניעת באגי תכנות לוגיים על ידי מתן אפשרות לסוגים אקספרסיביים ביותר (כגון עטיפות Newtype, וגרסאות ה-enum עם תוכן).
  • בדיקות זמן קומפילציה חזקות יותר - באגים נוספים שנתפסו בזמן ההידור מגבירים את אמון המפתחים בכך שכאשר קוד קומפילציה מוצלח, הוא עובד כמתוכנן.
  • מסגרת בדיקה מובנית - Rust מספקת מסגרת בדיקה מובנית שבה ניתן למקם בדיקות יחידות לצד היישום שהם בודקים, מה שמקל על הכללה של בדיקות יחידות.
  • אכיפה של טיפול בשגיאות - פונקציות עם כשלים שניתנים לשחזור יכולות להחזיר סוג תוצאה , שיהיה וריאנט הצלחה או וריאנט שגיאה. המהדר דורש מהמתקשרים לבדוק ולטפל בגרסה השגיאה של רשומה Result שהוחזרה מקריאה לפונקציה. זה מקטין את הפוטנציאל לבאגים הנובעים מכשלים לא מטופלים.
  • אתחול - חלודה מחייבת אתחול כל משתנה לחבר חוקי מסוגו לפני השימוש, ומונע אתחול לא מכוון לערך לא בטוח.
  • טיפול בטוח יותר במספרים שלמים - כל ההמרות מסוג מספרים שלמים הן השלמות מפורשות. מפתחים לא יכולים להטיל בטעות במהלך קריאת פונקציה בעת הקצאה למשתנה, או כאשר מנסים לעשות חשבון עם סוגים אחרים. בדיקת הצפה מופעלת כברירת מחדל באנדרואיד עבור Rust, מה שמחייב פעולות הצפה להיות מפורשות.

למידע נוסף, עיין בסדרת הפוסטים בבלוג על תמיכת Android Rust: