WebAssembly الثنائي
WebAssembly (Wasm) هو تنسيق تعليمات ثنائي لآلة افتراضية قائمة على المكدس. يتيح أداءً قريباً من الأداء الأصلي في متصفحات الويب لتطبيقات مثل الألعاب وتحرير الفيديو وCAD والمحاكاة العلمية. يُجمّع الكود من C وC++ وRust وGo إلى Wasm للتنفيذ المحمول.
نوع MIME
application/wasm
النوع
ثنائي
الضغط
بدون فقدان
المزايا
- + Near-native execution speed in web browsers
- + Compile from C, C++, Rust, Go, and more
- + Sandboxed execution for security
- + Portable — runs in browsers and server-side via WASI
العيوب
- − No direct DOM access — requires JavaScript interop
- − Debugging is harder than JavaScript
- − Binary format is not human-readable
متى تستخدم .WASM
استخدم Wasm لتطبيقات الويب كثيفة الحوسبة ونقل الكود الأصلي إلى المتصفحات ووظائف الحافة بدون خادم عبر WASI.
التفاصيل التقنية
يستخدم Wasm تنسيقاً ثنائياً مضغوطاً مع وظائف مُنمّطة وذاكرة خطية وخطوة تحقق تضمن الأمان. يعمل في بيئة معزولة بدون وصول مباشر إلى DOM — توفر جسور JavaScript عمليات الإدخال/الإخراج. يوسع WASI إمكانيات Wasm للاستخدام من جانب الخادم.
التاريخ
أصدر W3C إصدار WebAssembly 1.0 في عام 2017، بتطوير من Mozilla وGoogle وMicrosoft وApple. صُمم كهدف تجميع للويب، مكملاً JavaScript بأداء حتمي ومتوقع.