أولًا، ماهي تقنية الويب أسمبلي (Web Assembly) (اختصار WASM)
سابقًا، كانت متصفحات الانترنت لا تدعم إلا لغة الجافاسكربت، هذا يعني أنك إن أردت تطوير واجهة ويب فكان سيتحتّم عليك استخدام الجافاسكربت ولا يوجد خيار آخرتقنية الويب اسمبلي (WASM) جاءت لتغير هذا الوضع، حيث سيصبح بإمكانك تطوير واجهات الويب باستخدام لغات أخرى مثل Kotlin, TypeScript, java C#, Go, Rust و ++C/C و غيرها
ما الفائدة أو الهدف المرجوّ من تقنية الويب اسمبلي؟
واجهات الويب محصورة على الجافاسكربت، و هذه اللغة لها مشاكلها من استهلاك الذاكرة و البطء، و تقنية الويب اسمبلي جاءت لحل هذه المشكلة حيث أنها ستكون أقرب للعتاد و ستدعم لغات قوية و لغات إدارة الذاكرة مثل ++C/C، بالتالي ستمح لك ببناء واجهات ويب قوية و سريعة و فعّالة، مثل بناء ألعاب، أو بناء برامج ضخمة مثل برنامج الاوتوكاد الذي تتوفر منه نسخة الويب المبنية بتقنية الويب اسمبلي حاليًا
كيف تعمل تقنية الويب اسمبلي WASM
سيستطيع المتصفح قراءة ملفات بصيفة خاصة بتقنية الويب اسمبلي، و ذلك يعني أنه سيكون أقرب للعتاد الصلب من الجافاسكربتيمكنك إنشاء ملف بايت كود عن طريق كتابة الكود بأحد اللغات المدعومة من الويب اسمبلي و تحويله إلى ملف
باختصار، طريقة عمل الويب اسمبلي شبيهة جدًا بطريقة عمل آلة جافا الافتراضية ، حيث سيأخذ المتصفح دور الآلة الافتراضية هل أستطيع بناء نظام تشغيلي كامل من الصفر باستخدام الويب اسمبلي بدون الحاجة إلى لغة أسمبلي؟”
سيكون نظام تشغيل داخل المتصفح فقط كما وضحتُ سابقًا، و يمكنك بناء أي شيء باستخدام ويب اسمبلي خاصةً أنها تدعم لغات إدارة الذاكرة
“هل يمكن مقارنة الويب اسمبلي بلغة أسمبلي؟”
أفضل مقارنة أو تشبيه للويب اسمبلي هي آلة جافا الافتراضية
ملاحظة: الويب اسمبلي لم تأتِ لتزيح الجافا سكربت تمامًا، بل يمكن اعتبار الويب اسمبلي مكمل للجافاسكربت، حيث أن الكثير من صفحات الويب الحالية مازالت مكتوبة بالجافاسكربت، و أيضًا جدير بالذِّكْر أن المتصفحات القديمة لا تدعم تقنية جديدة جدًا كالويب اسمبلي، المتصفحات التي تدعمها حاليًا هي كروم، ايدج، سفاري، و فايرفوكس