مقدمة عن Android Rust

يتيح نظام Android الأساسي الدعم لتطوير مكونات نظام التشغيل الأصلي في Rust، هي لغة برمجة حديثة للأنظمة توفّر ضمانات أمان الذاكرة مع لأدائه المكافئ لـ C/C++. يستخدم Rust مزيجًا من عمليات التحقق من وقت التجميع. التي تفرض عمر الكائن وملكيته، وعمليات التحقق في بيئة التشغيل التي تضمن إلى الذاكرة، مما يؤدي إلى القضاء على الحاجة إلى جهاز تجميع البيانات المهملة.

توفّر Rust مجموعة من ميزات اللغة الحديثة التي تسمح للمطوّرين بالعمل بفعالية أكبر وثقة أكبر في رموزهم البرمجية:

  • البرمجة المتزامنة الآمنة - مدى سهولة يتيح ذلك للمستخدمين أو كتابة رمز فعال وآمن في سلاسل المحادثات، إلا أن Rust تزامن لا يُقهر الشعار.
  • نظام أنواع تعبيري: تساعد Rust في منع أخطاء البرمجة المنطقية من خلال السماح بأنواع تعبيرية للغاية (مثل أدوات التفاف Newtype وأنواع ملف السجلّ التي تحتوي على محتويات).
  • عمليات تحقّق أقوى في وقت الترجمة: إنّ اكتشاف المزيد من الأخطاء في وقت الترجمة يزيد من ثقة المطوّر بأنّه عند ترجمة الرمز البرمجي بنجاح، سيعمل على النحو المقصود.
  • إطار عمل الاختبار المضمّن: توفّر Rust إطار عمل اختبار مضمّنًا يمكن من خلاله وضع اختبارات الوحدة بجانب التنفيذ الذي يتم اختباره، ما يسهّل تضمين اختبارات الوحدة.
  • فرض معالجة الأخطاء: يمكن للوظائف التي تتضمّن أخطاء قابلة للاسترداد أن تُعرِض نوع النتيجة، والذي سيكون إما صيغًا للنجاح أو صيغًا للأخطاء. المجمِّع يتطلب من المُتصِلين التحقُّق من صيغة الخطأ لتعداد Result والتعامل معها. التي يتم إرجاعها من استدعاء الدالة. ويؤدي ذلك إلى تقليل احتمالية حدوث أخطاء نتيجةً للتعذُّرات غير المحمولة.
  • الإعداد: تتطلّب Rust إعداد كل متغيّر ليكون عضوًا شرعيًا من نوعه قبل استخدامه، ما يمنع الإعداد غير المقصود لقيمة غير آمنة.
  • التعامل بشكل أكثر أمانًا مع الأعداد الصحيحة: جميع الإحالات الناجحة من نوع الأعداد الصحيحة هي بث واضح. لا يمكن للمطوّرين البث عن طريق الخطأ أثناء استدعاء دالة عند التعيين إلى متغير، أو عند محاولة إجراء حسابي مع أنواع أخرى. القائمة الكاملة يكون التحقق مفعلاً بشكل افتراضي في Android لـ Rust، مما يتطلب النظام الزائد العمليات بوضوح.

لمزيد من المعلومات، يمكنك الاطّلاع على سلسلة مشاركات المدونات عن دعم Android Rust: