يمنح W3C الحالة القياسية الموصى بها لـ WebAssembly

اتحاد W3C объявил على منح تقنية WebAssembly حالة المعيار الموصى به. يوفر WebAssembly تعليمات برمجية متوسطة منخفضة المستوى ومستقلة عن المستعرض لتشغيل التطبيقات المجمعة من لغات البرمجة المختلفة. يتم وضع WebAssembly كتقنية محمولة واعدة ومتعددة المستعرضات لإنشاء تطبيقات ويب عالية الأداء. يمكن استخدام WebAssembly للمهام كثيفة الأداء مثل تشفير الفيديو ومعالجة الصوت والرسومات والمعالجة ثلاثية الأبعاد وتطوير الألعاب وعمليات التشفير والحسابات الرياضية وإنشاء تطبيقات محمولة للغات البرمجة.

يشبه WebAssembly Asm.js في العديد من النواحي، ولكنه يختلف من حيث أنه تنسيق ثنائي غير مرتبط بـ JavaScript. لا يتطلب WebAssembly أداة تجميع البيانات المهملة لأنه يستخدم إدارة الذاكرة الصريحة. باستخدام JIT for WebAssembly، يمكنك تحقيق مستويات أداء قريبة من التعليمات البرمجية الأصلية. من بين الأهداف الرئيسية لـ WebAssembly هو ضمان قابلية النقل والسلوك المتوقع وتنفيذ التعليمات البرمجية المتطابقة على منصات مختلفة. في الآونة الأخيرة، تم إضافة WebAssembly أيضًا تتقدم كمنصة عالمية لتنفيذ التعليمات البرمجية بشكل آمن على أي بنية تحتية ونظام تشغيل وجهاز، وليس مقتصرًا على المتصفحات.

قامت W3C بتوحيد ثلاثة مواصفات تتعلق بـ WebAssembly:

  • WebAssembly الأساسية - يصف جهازًا ظاهريًا منخفض المستوى لتنفيذ التعليمات البرمجية المتوسطة لـ WebAssembly. تأتي الموارد المرتبطة بـ WebAssembly بتنسيق ".wasm"، مشابه لملف Java ".class"، الذي يحتوي على بيانات ثابتة ومقاطع تعليمات برمجية للعمل مع تلك البيانات.
  • WebAssembly واجهة برمجة تطبيقات الويب - يحدد واجهة برمجة تعتمد على آلية الوعد لطلب وتنفيذ موارد ".wasm". تم تحسين تنسيق موارد WebAssembly لبدء التنفيذ دون انتظار تحميل الملف بالكامل، مما يؤدي إلى تحسين استجابة تطبيقات الويب.
  • واجهة WebAssembly جافا سكريبت - يوفر واجهة برمجة التطبيقات (API) للتكامل مع JavaScript. يسمح لك بالحصول على القيم وتمرير المعلمات إلى وظائف WebAssembly. يتبع تنفيذ WebAssembly نموذج أمان JavaScript ويتم تنفيذ كافة التفاعلات مع النظام الرئيسي بنفس طريقة تنفيذ تعليمات JavaScript البرمجية.

في المستقبل، نخطط لإعداد مواصفات لميزات WebAssembly مثل:

  • تعدد مؤشرات الترابط مع الذاكرة المشتركة والوصول إلى الذاكرة الذرية؛
  • عمليات المتجهات القائمة على SIMD، مما يسمح بموازاة تنفيذ الحلقة؛
  • أنواع المراجع للإشارة مباشرة إلى الكائنات من كود WebAssembly؛
  • القدرة على استدعاء الوظائف دون إنفاق مساحة إضافية على المكدس؛
  • التكامل مع وحدات ECMAScript - القدرة على تحميل كود WebAssembly من JavaScript كوحدات تتوافق مع مواصفات ECMAScript 6؛
  • وضع جامع القمامة.
  • واجهات التصحيح.
  • هل كنت (واجهة نظام WebAssembly) - واجهة برمجة التطبيقات (API) للتفاعل المباشر مع نظام التشغيل (POSIX API للعمل مع الملفات والمقابس وما إلى ذلك).

    المصدر: opennet.ru

إضافة تعليق