WEBioDD Logo
WEBioDD
📁 تطوير البرمجيات ومصادر مفتوحة••⏱️ 4 دقيقة قراءة

Topcoat يمكّن Rust من عرض تطبيقات الويب من جانب الخادم

W

شبكة WEBioDD

تغطية وتحرير تقني مؤتمت بالذكاء الاصطناعي من المصادر المرجعية

Topcoat يمكّن Rust من عرض تطبيقات الويب من جانب الخادم
صورة تعبيرية
إعلان ممول
إعلانات

كشف Carl Lerche، مهندس رئيسي في Amazon Web Services، عن Topcoat، إطار عمل جديد يتيح للغة Rust عرض تطبيقات الويب من جانب الخادم. تم عرض المشروع في مؤتمر ScyllaDB’s 2026 P99 الافتراضي الأسبوع الماضي، ويهدف إلى الاستفادة من أداء Rust وسلامتها في تطوير الويب، مما قد يغير استخدامها المعتاد.

أبرز النقاط

  • Topcoat هو إطار عمل جديد يتيح للغة Rust عرض تطبيقات الويب من جانب الخادم.
  • يقوم Topcoat بتحويل كود Rust إلى JavaScript ليتفاعل مع نموذج كائن المستند (DOM) الخاص بالمتصفح.
  • يعتمد Topcoat على العرض من جانب الخادم، حيث يتم تنفيذ معظم المنطق على الخادم وإرسال النتائج للمتصفح.
  • يقلل Topcoat أوقات التحميل عن طريق عرض المكونات دفعة واحدة والسماح بتحميل البيانات بشكل غير مانع.
  • يسمح Topcoat للمكونات بالتحدث مباشرة مع قاعدة البيانات بفضل مشروع Toasty السابق.

على الرغم من شعبية لغة Rust في استخدامات أخرى، إلا أنها لا تُستخدم عادة في تطوير الويب. ومع ذلك، قد يتغير هذا الوضع.

كان ليرش هناك لعرض مشروعه الأخير، Topcoat، وهو إطار عمل لتشغيل تطبيقات الويب المكتوبة بلغة Rust. يُعرف ليرش بأنه مبتكر Tokio، وهو أشهر وقت تشغيل غير متزامن لـ Rust في هذا النظام البيئي.

قال كارل ليرش للجمهور الافتراضي: "قبل ثلاث سنوات، لو خرجت وقلت إن Rust يمكن أن تكون أفضل لغة لبناء تطبيقات الويب، لربما وصفتموني بالجنون." يميل مطورو الويب إلى اللغات التي يجدونها أكثر ألفة، وهذا يعني هذه الأيام JavaScript، أو ربما Ruby.

تستخدم عدد من أطر عمل الويب بالفعل Rust. يقوم كل من Leptos وDioxus بتحويل Rust إلى WebAssembly، الذي تشغله معظم المتصفحات. هذا النهج رائع للمهام الحسابية الثقيلة، على الرغم من أن وقت التحميل الأولي يمكن أن يكون عائقًا حقيقيًا.

يقوم Topcoat بتحويل كود Rust الخاص بك إلى JavaScript أكثر ملاءمة للويب. بالنسبة لليرش، تظل JavaScript أفضل طريقة للتفاعل مع نموذج كائن المستند (DOM) الخاص بالمتصفح.

أشار مطور الواجهة الأمامية كين كولمان، في فيديو ملخص على قناته على يوتيوب Code to the Moon، إلى أن: "بشكل عام، يمكن تتبع النهج الذي يتبعه أي إطار عمل Rust إلى نظام بيئي آخر، عادة ما يكون شائعًا جدًا. لا يمكنك حقًا الإشارة إلى إطار عمل واحد موجود كمصدر إلهام رئيسي لـ [Topcoat]."

ما هي تطبيقات الويب التي يستهدفها Topcoat؟

اعترف ليرش بأن Topcoat ليس مخصصًا لبناء تطبيقات معقدة، على نطاق Figma على سبيل المثال، ولكنه يمكن استخدامه بسهولة لتطبيقات الويب العادية التي تعتمد على المتصفح وقواعد البيانات، والتي تمثل 90 بالمائة من الويب اليوم.

على عكس معظم أطر عمل JavaScript الحالية، يتجنب Topcoat التعريف الحالي للتفاعلية، حيث يتم تحميل منطق البرنامج على المتصفح عند بدء الجلسة. بدلاً من ذلك، يتم تنفيذ معظم المنطق على الخادم، مع تسليم النتائج فقط إلى المتصفح (لا يزال بإمكان المطورين كتابة منطق من جانب العميل باستخدام مجموعة فرعية من Rust، والتي يقوم Topcoat بتحويلها تلقائيًا إلى JavaScript للمتصفح).

إنها فكرة قديمة أعيد صياغتها بتقنية أفضل. يسبق العرض من جانب الخادم البرمجة التفاعلية (انظر تضمينات Apache من جانب الخادم). اعترف ليرش بأنه مع العرض من جانب الخادم، "قد يبدو الأمر وكأننا نعود إلى الأيام الخوالي من تحديثات الصفحة الكاملة لكل نقرة [لكن] يمكنك في الواقع الحصول على كل ما تعتبره تفاعليًا تقريبًا مع العرض من جانب الخادم."

لكن البرمجة من جانب الخادم عادت مؤخرًا، خاصة للمطورين الساخطين على React وأطر العمل الأخرى. تقوم HTMX وDatastar وPhoenix LiveView جميعها بعرض صفحات الويب على الخادم، وإرسالها إلى المتصفح شبه مكتملة.

قال ليرش إن "Topcoat يقوم فقط بتعديل أفكارهم لتتناسب جيدًا مع Rust." عندما يضغط المستخدم على زر في صفحة ويب، لا يتم تحديث الصفحة بأكملها. يتم إرجاع مقتطف HTML الخاص بهذا المكون فقط وتحديثه بواسطة الخادم.

كيف يحسن Topcoat الأداء؟

يوفر Topcoat أوقات التحميل عن طريق عرض جميع المكونات دفعة واحدة، بدلاً من مكون تلو الآخر. كما أن تحميل البيانات لا يعيق تحميل الصفحة. يمكن للخادم إرسال صفحة ويب مع عناصر نائبة تتدفق إليها البيانات.

إحدى الميزات السرية الكبيرة التي يتمتع بها Topcoat هي أنه يوفر طريقة للمكون، الموجود بالفعل على الخادم، للتحدث مباشرة مع قاعدة البيانات، وذلك بفضل مشروع سابق من ليرش يسمى Toasty، وهو أداة ربط كائنية علائقية غير متزامنة تعتمد على Rust (الذي تحدث عنه في P99 2024).

قال ليرش: "يمكنك إجراء العرض مباشرة مع البيانات على الفور، لذلك لا داعي لمعرفة كيفية تسلسلها، وإرسالها إلى العميل، وإلغاء تسلسلها." من خلال دفع تحميل البيانات عميقًا في عرض الصفحة، يمكن للخادم إرسال رأس قالب HTML إلى العميل على الفور، مما يسمح للمتصفح ببدء التحميل المسبق للأصول (مثل CSS أو الصور) بينما يقوم الخادم بعرض بقية الصفحة.

قال كولمان: "البساطة لا تصدق، وهذا شيء كنا نفتقده بشدة في هذا المجال. أشعر أن شخصًا لا يعرف Rust حقًا يمكنه البدء بسرعة كبيرة بهذا الشيء." وقد اتفق مع ليرش على أن Topcoat هو الأفضل لمشاريع الويب الأصغر، نظرًا لأن Topcoat يستخدم فقط مجموعة فرعية من بناء جملة Rust.

وأضاف كولمان: "هناك ما يقال عن امتلاك بناء جملة Rust الكامل تحت تصرفك."

جرّب الأداة: منسق ومتحقق JSON

🤖

إفصاح الشفافية ومصدر الخبر

كُتب هذا المقال بالذكاء الاصطناعي اعتماداً على المصدر المذكور أدناه، وفُحصت اقتباساته والأقوال المنسوبة فيه آلياً مقابل نص المصدر. لم يراجعه محرر بشري، فارجع إلى المصدر عند الشك.

زيارة المصدر الأصلي المرجعي
إعلان ممول
إعلانات

📰 مقالات وتقارير ذات صلة