مقدمة أندرويد روست

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

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

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

لمزيد من المعلومات، راجع سلسلة منشورات المدونة حول دعم Android Rust: