The Rust Ecosystem

يتكون النظام البيئي ل Rust من عدد من الأدوات، من أهمها:

  • rustc: مترجم Rust الذي يحول ملفات .rs إلى ملفات تنفيذية وصيغ وسيطة أخرى.

  • cargo: مدير التبعية وأداة البناء لـ Rust. يعرف Cargo كيفية تنزيل التبعيات، عادةً ما تكون مستضافة على https://crates.io، وسوف يمررها إلى rustc عند بناء مشروعك. يأتي Cargo أيضًا مع مشغل اختبارات مدمج يستخدم لتنفيذ الإختبارات الوحدة.

  • rustup: مثبت ومحدث أدوات Rust. تُستخدم هذه الأداة لتثبيت وتحديث rustc و cargo عند إصدار نسخ جديدة من Rust. بالإضافة إلى ذلك، يمكن لـ rustup أيضًا تنزيل التوثيق للمكتبة القياسية(standard library). يمكنك تثبيت عدة إصدارات من Rust في وقت واحد و rustup سيسمح لك بالتبديل بينها حسب الحاجة.

نقاط رئيسية:

  • لدى Rust جدول إصدارات سريع مع إصدار جديد كل ستة أسابيع. تحافظ الإصدارات الجديدة على التوافق العكسي مع الإصدارات القديمة --- بالإضافة إلى إِتاحة وظائف جديدة.

  • هناك·ثلاث·قنوات·إصدار:·"stable"·(مستقر)،·"beta"·(بيتا)،·و"nightly"·(ليلي).

  • يتم اختبار الميزات الجديدة على "nightly" (ليلي)، و"beta" (بيتا) هو ما يصبح "stable" (مستقر) كل ستة أسابيع.

  • يمكن أيضًا حل التبعيات من سجلات بديلة، git، المجلدات، والمزيد.

  • لدى Rust أيضًا إصدارات: الإصدار الحالي هو Rust 2021. الإصدارات السابقة كانت Rust 2015 و Rust 2018.

    • تُسمح الإصدارات بإجراء تغييرات غير متوافقة (backwards incompatible) مع الإصدارات السابقة على اللغة.

    • لتجنب إفساد الكود (breaking code)، تكون الإصدارات اختيارية (opt-in): يمكنك اختيار الإصدار لمكتبتك عبر ملف Cargo.toml.

    • لتجنب تقسيم النظام البيئي، يمكن لمترجمات Rust مزج الكود المكتوب لإصدارات مختلفة.

    • اذكر أنه من النادر جدًا استخدام المترجم مباشرةً دون استخدام cargo (معظم المستخدمين لا يفعلون ذلك).

    • قد يكون من المفيد الإشارة إلى أن Cargo نفسه هو أداة قوية وشاملة للغاية. إنه قادر على العديد من الميزات المتقدمة بما في ذلك على سبيل المثال لا الحصر:

    • اقرأ المزيد من الكتاب الرسمي لـ Cargo