مجموعة من الأدوات المتاحة الآن على الويب بفضل WebAssembly
يتيح WebAssembly للمطوّرين توفير وظائف جديدة عالية الأداء على الويب من لغات أخرى. خلال السنوات القليلة الماضية، استفاد المطوّرون حقًا من هذه الإمكانات. تعرض هذه المشاركة بعض الأدوات الجديدة الرائعة التي يمكنك الاستفادة منها، ويعود الفضل في ذلك جزئيًا إلى WebAssembly.
الأدوات والمكتبات التي يمكنك استخدامها الآن
بدون مقدمات، لنبدأ بالحديث عن الميزات الرائعة :D
SQLite
يقدّم لك هذا الإصدار الكامل من SQLite نظام إدارة قواعد بيانات علائقية خفيف الوزن ومضمّن. لمزيد من المعلومات، يمكنك قراءة مشاركة المدونة هذه التي تعرض هذا المنفذ الرائع وكيفية استخدامه.
FFmpeg.wasm
FFmpeg هو مشروع برنامج مجاني ومفتوح المصدر يتألف من مجموعة من المكتبات والبرامج لمعالجة ملفات الوسائط المتعددة والفيديوهات والمقاطع الصوتية وغيرها من عمليات البث. يمكنك العثور على إصدار مُجمَّع من wasm هنا (مستودع GitHub) يتيح لك تنفيذ جميع هذه الوظائف مباشرةً في المتصفّح.
Universal Scene Description (USD)
Universal Scene Description (USD) هو إطار عمل لبيانات رسومات الكمبيوتر الثلاثية الأبعاد التي تركّز على التعاون والتعديل غير التدميري وتفعيل طرق عرض وآراء متعدّدة حول بيانات الرسومات. وهو معيار متّبع في المجال تستخدمه شركات مثل Pixar وAutodesk وNvidia وغيرها الكثير. لا يزال الدعم على الويب في مراحله الأولى، ولكن سبق أن أنشأت Autodesk برنامج عرض USD مفتوح المصدر على الويب يمكنك الاطّلاع عليه هنا.
CanvasKit
CanvasKit هو Skia، وهو محرك العرض في Chrome وAndroid، ويتم تجميعه مباشرةً إلى WebAssembly. باستخدامها، يمكنك الوصول بسهولة إلى JavaScript API للاستفادة من جميع إمكانات محرّك عرض Skia تقريبًا. تشمل الوظائف عمليات التقديم المعقدة وتشكيل النصوص والرسوم المتحركة والرسم بالألوان المائية وغير ذلك. اطّلِع على حزمة npm ودليل البدء السريع.
TensorFlow.js
توفّر TensorFlow.js إمكانات TensorFlow مباشرةً في المتصفّح باستخدام واجهة برمجة تطبيقات JavaScript بسيطة. وتعمل هذه الميزة في الخلفية على تحسين النماذج على مستوى كلّ من وحدة معالجة الرسومات ووحدة المعالجة المركزية (بما في ذلك تحسينات SIMD) لتحقيق أفضل أداء. يمكنك الاطّلاع على دليل البدء أو الاطّلاع على بعض العروض التوضيحية مباشرةً.
OpenCV
OpenCV هو معيار متّبع في المجال لوظائف البرمجة، ويُستخدَم بشكل أساسي في تكنولوجيات رؤية الكمبيوتر في الوقت الفعلي. تتوفّر حزمة npm سهلة الاستخدام هنا، وبالنسبة إلى مستخدمي Emscripten، تتوفّر أيضًا تعليمات مفصّلة لإجراء عملية إنشاء كاملة. للاطّلاع على كيفية تحسين وحدات معالجة البيانات المتسلسلة (SIMD) وسلسلة المهام لأداء هذه الأعباء، يمكنك مشاهدة هذا القسم من محادثة Modern WebAssembly Chrome Dev Summit.
کوکوس
Cocos هو محرّك ألعاب فعّال ورائج يتيح للمطوّرين إنشاء ألعاب متوافقة مع جميع المنصات، بما في ذلك الويب. وينضمّ هذا المحرك إلى القائمة الطويلة لمحرّكات الألعاب التي تتيح التصدير إلى الويب من خلال wasm. للبدء، انتقِل إلى محرِّر Cocos واتّبِع هذه التعليمات.
الخاتمة
بالإضافة إلى هذه الأمثلة المحدّدة، هناك الكثير من الأسباب التي تدعو إلى التفاؤل في ما يتعلّق بإمكانية WebAssembly في تغيير وتيرة وظائف الويب الجديدة. أنشأ فريق Chrome أيضًا صندوق تطبيقات الويب المتقدّمة الذي يمكن أن يساعد المطوّرين في تمويل أعمالهم لتحسين وظائف الويب المتاحة لجميع المطوّرين.
الصورة الرئيسية من Pexels، ونالت علامة مائية من Ann Marie Kennon.