WebAssembly (WASM) هو تنسيق رمز ثنائي محمول ومنخفض المستوى يعمل على المتصفحات الحديثة ، تمامًا مثل JavaScript. في الواقع ، يعد WebAssembly أيضًا قابلاً للتشغيل المتبادل مع JavaScript. يمكنك تحويل معظم التعليمات البرمجية المصدر للبرنامج إلى WebAssembly وتشغيلها على المتصفح باستخدام JavaScript أو بدونه.

الصدأ سريع ، مما يجعل اللغة خيارًا قابلاً للتطبيق لبناء برامج WebAssembly. هناك العديد من مكتبات وأطر عمل Rust للمساعدة ، مع دعم للأدوات التي تستخدمها لإنشاء تطبيقات الويب.

1. مكتبة الجميز

شجر جميز هو إطار تفاعلي يشبه SolidJS سريعًا ومريحًا وبديهيًا. يمكنك استخدامه لإنشاء تطبيقات ويب في Rust تستفيد من قوة WebAssembly. يوفر Sycamore معظم الوظائف التي ستحتاج إليها لإنشاء واجهة تطبيق ويب في Rust ، لذلك لن تحتاج إلى كتابة JavaScript.

يوفر Sycamore أيضًا جهاز توجيه وإمكانية التشغيل التفاعلي لـ JavaScript عبر Wasm-Bindgen باستخدام JS-sys أو Web-Sys. يعتزم المشروع إطلاق وظائف الاختبار و CSS قريبًا.

لاستخدام Sycamore ، ستحتاج إلى إصدار حديث من Rust — the wasm32- غير معروف- غير معروف استهداف. ستحتاج أيضًا إلى Trunk لإنشاء تطبيقك وتجميعه. نظرًا لأن Sycamore جديد ، فسيكون استخدام مكتبة الفرع الرئيسية في الإنتاج أمرًا محفوفًا بالمخاطر ، إلا إذا لجأت إلى إصدار سابق.

instagram viewer

2. إطار الطقسوس

الطقسوس هو إطار عمل Rust لإنشاء تطبيقات الويب متعددة مؤشرات الترابط الأمامية باستخدام WebAssembly. يسمح لك بكتابة كود Rust وتحويل رمز Rust الخاص بك إلى WASM ، والذي يمكن تشغيله على أي جهاز يدعم WASM. الطقسوس قابل للتشغيل المتبادل مع JavaScript (يمكنك استخدام ملف حزم npm) ، ويوفر إطار العمل ماكروًا للتفاعل مع عناصر HTML مع Rust ، مثل JSX في React.

يمكنك البدء مع Yew باستخدام حزمة تطبيق Trunk أو WASMPack. تحقق من الوثائق الخاصة بكيفية البدء والتفاعل مع HTML و واجهات برمجة تطبيقات DOM وقم بنقل كود Rust الخاص بك إلى WebAssembly.

يحظى مشروع Yew بشعبية كبيرة ، حيث يحتوي على أكثر من عشرين ألف نجم على Github وخمسة آلاف مستخدم. الطقس مستقر ، لكن المشروع ليس جاهزًا للإنتاج ، وقاعدة الكود تتغير ، لذلك قد تواجه أخطاء وفواصل.

3. مكتبة بيرسي

بيرسي عبارة عن مجموعة من مكتبات Rust لإنشاء تطبيقات الويب الأمامية التي يتم تشغيلها بواسطة WebAssembly. يدعم بيرسي التقديم الفوري من جانب الخادم. يتفوق المشروع في بناء تطبيقات ذات صفحة واحدة ملائمة لمحركات البحث (SPA).

يقدم بيرسي لغة البرمجة! ماكرو لتوليد DOMs الظاهري. يمكنك تحويلها إلى عناصر DOM في الواجهة الأمامية أو استخدامها للعمليات في الواجهة الخلفية لتطبيقك.

لا يزال بيرسي جديدًا جدًا ، وعلى الرغم من أن المكتبة ليست جاهزة للإنتاج ، إلا أن المشروع يحظى بشعبية كبيرة ، مع وجود أكثر من ألفي نجم على جيثب.

4. إطار عمل البذور

بذرة عبارة عن إطار عمل WebAssembly المضمن بالبطاريات ومتكدس بالكامل لإنشاء تطبيقات ويب سريعة في Rust. يوفر إطار عمل البذور نظامًا للقالب يستخدم بنية كلية بدلاً من بناء جملة Yew's JSX. كما أن لديها نظام إدارة دولة مدمج لتحسين الإنتاجية.

البذور جديدة ، ومن النادر وجود مكونات مسبقة الصنع مثل جامعي التاريخ. على الرغم من أن Seed لا يدعم العرض من جانب الخادم حاليًا ، إلا أن المشروع يهدف إلى تضمينه قريبًا. خلاف ذلك ، فإن Seed مكتمل الميزات ، ويمكنك إنشاء تطبيقات ويب جاهزة للإنتاج معها. يستخدم Seed أيضًا بنية Elm مع الحد الأدنى من التكوين. يمكنك إنشاء تطبيقاتك وتجميعها باستخدام Trunk أو Web Bundler أو Seeder.

يمكنك أيضًا استخدام Seed للواجهة الخلفية لتطبيق الويب الخاص بك. يوفر Seed وظائف لبناء واجهات برمجة تطبيقات REST أو GraphQL مع دعم التوجيه والمصادقة وتكامل AuthO.

مون زون هو إطار عمل سهل الاستخدام ومتكدس ويدعم WebAssembly لتطبيقات الواجهة الأمامية والخلفية. يمكنك كتابة Rust دون الحاجة إلى كتابة HTML و CSS وجافا سكريبت على الواجهة الأمامية أو REST أو GraphQL أو SQL على الواجهة الخلفية. MoonZoon سريع وبسيط وقابل للتطوير وصديق لتحسين محركات البحث. يوفر تطبيق CLI لإنشاء تطبيقات ويب يسهل نشرها.

تتمثل فلسفة مشروع MoonZoon في إنشاء أداة بسيطة للغاية بدون مصطلحات خاصة أو حواجز صناعية أو عقيدة. باستخدامه ، يمكنك التركيز على بناء تطبيقات الويب كما يحلو لك. ستحتاج إلى تثبيت WASM-Pack لإنشاء الواجهة الأمامية. تعمل الواجهة الخلفية لتطبيق MoonZoon على Actix-web و Warp ، وكلاهما من أطر Rust الخلفية الشائعة. يوفر MoonZoon أيضًا وظائف المصادقة.

لا يتم استضافة وثائق MoonZoon في الوقت الحالي. لاستخدام الأداة ، يمكنك سحب ملفات markdown في ملف المستندات مجلد عبر المشروع مستودع جيثب.

ربما تكون قد تفاعلت مع WebAssembly

تم إصدار WebAssembly لأول مرة في عام 2017 ، وجعل اتحاد شبكة الويب العالمية (W3C) WebAssembly معيارًا للويب في عام 2019. منذ عام 2019 ، استخدمت شركات مثل Cloudflare و Google و Dropbox التكنولوجيا في الإنتاج.

يستخدم Google Earth WebAssembly ، ويستخدمه Cloudflare لـ Cloudflare Workers ، ويستخدم Dropbox WebAssembly لبرنامج الترميز على موقعه على الويب.