إطار عمل جديد لـ Rust يكتسب شعبية في عام 2024

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

إطار عمل جديد لـ Rust يكتسب شعبية: ما يحتاج المطورون معرفته



تواصل بيئة لغة Rust التطور بنشاط، وكان عام 2024 بمثابة اختراق حقيقي لأحد أطر العمل الجديدة للويب. يتعلق الأمر بمشروع Axum - إطار عمل غير متزامن لبناء تطبيقات الويب، والذي أظهر نموًا هائلاً في الشعبية خلال الأشهر الستة الماضية. وفقًا لبيانات GitHub واستطلاعات Stack Overflow، تفوق Axum على المخضرمين مثل Actix-web وRocket من حيث معدل التبني.



لماذا Axum؟

يُبنى Axum على أساس مكتبات Tokio و Tower، مما يضمن أقصى أداء وتوافق مع مشاريع Rust الحالية. إليك الأسباب الرئيسية لنموه السريع:



  • البساطة والمرونة: يستخدم الإطار نظام الأنواع القوي في Rust للتحقق من المسارات في مرحلة التجميع.
  • التوافق الكامل مع Tower: يمكن للمطورين بسهولة إضافة middleware من النظام البيئي الضخم لـ Tower (تسجيل الدخول، الضغط، حدود الطلبات).
  • توثيق ممتاز: تغطي أمثلة الكود 90% من المهام النموذجية - من REST API إلى WebSocket.
  • دعم async/await: غير متزامن أصلي بدون وحدات ماكرو زائدة.


مثال على خادم أدنى باستخدام Axum

لتقييم البساطة، يكفي إلقاء نظرة على كود خادم HTTP الأساسي:



use axum::{Router, routing::get, response::Html};

#[tokio::main]async fn main() { let app = Router::new() .route("/", get(|| async { Html("<h1>مرحبًا، أيها العالم!</h1>") }));

axum::Server::bind(&"0.0.0.0:3000".parse().unwrap()) .serve(app.into_make_service()) .await .unwrap();}


فقط 10 أسطر من الكود - ولديك خادم ويب عامل بأداء يُضاهي C++.



مقارنة مع المنافسين

للتوضيح، نقدم الاختلافات الرئيسية بين Axum وأطر العمل الشائعة الأخرى لـ Rust:



  • Actix-web: أسرع، لكنه أكثر تعقيدًا في إعداد الأنواع. يتفوق Axum في سهولة قراءة الكود.
  • Rocket: مناسب للنماذج الأولية، لكنه يتطلب إصدار nightly من المترجم. Axum مستقر على stable Rust.
  • Warp: مرن، لكن مع منحنى تعلم حاد. يقدم Axum منحنى أكثر استواءً.


التوقعات والمستقبل

يلاحظ المحللون أن شعبية Axum مرتبطة مباشرة باتجاه الخدمات المصغرة و WebAssembly. نظرًا لأن Rust يُستخدم بشكل متزايد في الأنظمة عالية التحميل (على سبيل المثال، في موفري الخدمات السحابية ومشاريع blockchain)، يصبح إطار العمل البسيط والآمن هو المعيار الفعلي.



بالفعل الآن، تقوم شركات كبيرة مثل Discord و Cloudflare بترحيل خدمات Rust الخاصة بها جزئيًا إلى Axum. بالنسبة لمطوري Python الذين يتعلمون Rust، فإن هذا الإطار هو أفضل نقطة دخول بفضل بناء الجملة المألوف لـ async/await ووفرة الأمثلة الجاهزة.



تابع التحديثات على PythonLib - سنستمر في الحديث عن أحدث المستجدات في عالم Rust و Python.

المكتبات الموصى بها