مقدمة Android Rust

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

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

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

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