مرجع
آخر الزيارات

ويب أسمبلي

510 كلمة•0 مشاهدة•🗒️ منذ 9 أيام
باختصار: ويب أسمبلي أو تَجْمِيعِ اَلْوِيب (بالإنجليزية: WebAssembly) (نقحرةً: ويب أسمبلي) اختصارًا بـ (وَازِمْ Wasm) هو معيار مفتوح يُّعرِّف صِيغة محمولة للترميز-الثنائي -(بايت كُودْ)- لتنفيذ برمجيةٍ ما، وتهدف تقنية تجميع الويب إلى تمكين تنفيذ برامج…. تتناول المقالة 8 أقسام، منها «آلة افتراضية»، «التاريخ» و«مثال».
المحتويات
  1. آلة افتراضية
  2. التاريخ
  3. مثال
  4. asm.js - آزِمْ.ج س
  5. وازي
  6. المميزات والأهداف
  7. نظرة عامة
  8. مصطلحات أساسية
ويب أسمبلي

تعريفًا بالموضوع، ويب أسمبلي أو تَجْمِيعِ اَلْوِيب (بالإنجليزية: WebAssembly) (نقحرةً: ويب أسمبلي) اختصارًا بـ (وَازِمْ Wasm) هو معيار مفتوح يُّعرِّف صِيغة محمولة للترميز-الثنائي -(بايت كُودْ)- لتنفيذ برمجيةٍ ما، وتهدف تقنية تجميع الويب إلى تمكين تنفيذ برامج عالية الأداء على صفحات الويب، صُمم تجميع الويب بشكل يجعله قابلة للتنفيذ ومتكامل مع بيئات العمل الأخرى كذلك وليس حصرًا على متصفحات الويب، يعني ذلك قابلية تنفيذ «برمجيات تجميع الويب» بحد ذاتها (standalone). كما يمكن لبعض بيئات تشغيل جافاسكربت مثل نود جي اس، ودينو تشغيل تجميع الويب. وفيما يلي تفاصيل أوسع عن ذلك.

آلة افتراضية

شفرة ثنائية (باينري)

بايت كُودْ

التاريخ

وعلى صعيد آخر، أُعلِنَ عن تجميع الويب لأول مرة في 2015 ، وقد أثبت المفهوم لأول مرة من خلال تنفيذ Unity's Angry Bots على متصفح فاير فوكس، قوقل كروم، مايكروسوفت إيدج، وقد سبقتها بعض التقنيات لإجراء محاولات أولية مثل مشروع «آزِمْ» asm.js من موزيلا، ومشروع PNaCI من قوقل، وقد استندت التجارب الأولية إلى نموذج asm.js من موزيلا.

مثال

شفرة برمجية بلغة السي، في مقابل شفرة تجميع الويب:

asm.js - آزِمْ.ج س

كذلك، في فبراير 2018، قامت «مجموعة عمل تجميع الويب» WebAssembly Working Group بنشر ثلاث مسودات للعمل على توثيق كل من المواصفات والمعايير الأساسية ، وواجهة جافا سكربت JavaScript Interface وكذلك Web API التي يحتاج تجميع الويب لها.

وفي هذا الصدد، تفرع من لغة جافا سكرِبت، صُمِّمت لتكون قابلًا للتوليد من لغات أخرى كلغة سِي C مثلًا، ويكمن الفرق الجوهريّ بينها وبين الجافا سكربت العادية أن «آزِمْ» asm.js ستحافظ على أداء أفضل من جافا سكربت العادية. لا تزال تُستعمل في المتصفحات التي لا تدعم تجميع الويب WebAssembly، أو المتعطِّلة فيها لأسباب أمنية.

وازي

كذلك، مشروع الواجهة البرمجية لنظام تجميع الويب (بالإنجليزية: WebAssembly System Interface) ويشار إليه اختصارًا بـ (وَازِي Wasi)، يهدف إلى توحيد المعايير وطرق عمل كود تجميع الويب في البيئات خارج المتصفح.

المميزات والأهداف

وفي هذا الصدد، تمكين تنفيذ تطبيقات عالية الأداء ومقاربة إلى أداء التطبيقات الأصلية (Native Code).

  • توفير صيغة محمولة (Portable).
  • الحماية عن طريق العزل (Sandbox).
  • العمل في بيئات متعددة (Cross Platform).

نظرة عامة

ومن ناحية أخرى، اُعتمد تجميع الويب في 2019 الخامس من ديسبمبر من طرف رابطة الشبكة العالمية كمعيار في متصفحات الويب، بجانب جافاسكربت وCSS وHTML. يُمكن تجميع الويب مطوري الويب من تنفيذ برمجيات غير مكتوبة بجافاسكربت على المتصفح بشكل مباشر.

وفي هذا السياق، تجميع الويب هو صيغة بايت ناتجة من المحول البرمجي، بمقدور المتصفحات ومشغلات جافاسكربت -الداعمة لـوَازِمْ (Wasm)- فكه وتنفيذه مباشرةً، على عكس لغات البرمجة التي تمر بعدة مراحل خلال الترجمة وصولًا للغة يستطيع الحاسوب تنفيذها.

من جهة ثانية، يستعمل تجميع الويب آلة فتراضية تعتمد مفهوم المُكدس ومكدس الإستدعاءات ويعتبر ملف .wasm لغة وسيطة والتي تُحول من بايت-كود إلى تعليمات تفهمها الآلة، يتم تنفيذها في بيئة معزولة (Sandbox).

علاوةً على ذلك، تقدم حزمة Emscripten SDK إمكانية أن ترجمة البرمجيات المكتوبة بلغة السي أو التي تدعم LLVM IR إلى ملف بَايْنَرِي لتجميع الويب.

إضافةً إلى ذلك، كما تقدم لغات مثل رست ولغة غو إمكانية الترجمة إلى تجميع الويب.

من جهة ثانية، تم توفير الصيغة النصية المقروءة لتجميع الويب، لمساعدة المبرمجين على تتبع العلل والأخطاء وإصلاحها ويمكن تحويل ملفات .wat إلى .wasm والعكس.

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

مصطلحات أساسية

من جهة ثانية، قاموس لمجموعة مصطلحات إنجليزية تتعلق بويب أسمبلي مع تعريفها:

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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