وظيفة جديدة للمطوّرين تقدّمها لك WebAssembly

عرض للأدوات المتاحة الآن على الويب بفضل WebAssembly

Thomas Nattestad
Thomas Nattestad

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

لننتقل إلى بعض الأمور الجيدة :D

SQLite

يوفر لك هذا المنفذ الكامل من SQLite نظام إدارة قواعد بيانات ارتباطية مضمّنًا خفيفًا في متناول يديك. لمزيد من المعلومات، يُرجى الاطّلاع على مشاركة المدونة هذه التي تستعرض هذا المنفذ المذهل وكيفية استخدامه.

FFmpeg.wasm

إنّ FFmpeg هو مشروع برمجي مفتوح المصدر يتألف من مجموعة من المكتبات والبرامج المخصصة لمعالجة ملفات الفيديو والصوت وغيرها من ملفات الوسائط المتعددة وبثها. يمكنك العثور على نسخة Wasm المجمّعة هنا (github repo) التي تتيح لك تنفيذ كلّ هذه الوظائف مباشرةً في المتصفّح.

وصف المشهد العالمي (بالدولار الأمريكي)

Universal Scene Description (USD) هو إطار عمل لبيانات رسومات الكمبيوتر ثلاثية الأبعاد التي تركز على التعاون والتعديل غير المدمر والسماح بالعديد من العروض والآراء حول بيانات الرسومات. وهو معيار مُتّبع في المجال يدعمه أمثال Pixar وAutodesk وNvidia وغيرها. لا تزال تتوفر خدمة الدعم على الويب من البداية، ولكن بإمكان Autodesk استخدام برنامج مفتوح المصدر يستند إلى الويب بالدولار الأمريكي. يمكنك الاطّلاع هنا.

CanvasKit

CanvasKit هي Skia، وهي محرك العرض في Chrome وAndroid، وقد تم تجميعها مباشرةً في WebAssembly. بفضل هذه الميزة، يمكنك الوصول بسهولة إلى واجهة برمجة تطبيقات JavaScript، ما يتيح لك الاستفادة من جميع إمكانيات محرّك عرض Skia. وتشمل هذه الوظيفة إمكانية العرض المعقد وتشكيل النص والرسوم المتحركة والحبر والمزيد. يمكنك الاطّلاع على حزمة npm ودليل البدء السريع.

TensorFlow.js

يُدخل الملف TensorFlow.js إمكانات TensorFlow مباشرةً في المتصفِّح باستخدام واجهة برمجة تطبيقات JavaScript بسيطة. وتعمل أيضًا على تحسين النماذج على مستوى وحدة معالجة الرسومات ووحدة المعالجة المركزية (CPU) (بما في ذلك تحسينات SIMD) لتحقيق أفضل أداء. يمكنك الاطّلاع على دليل البدء أو الاطّلاع على بعض العروض التوضيحية مباشرةً.

OpenCV

OpenCV هو معيار في الصناعة لوظائف البرمجة بشكل أساسي للرؤية الحاسوبية في الوقت الفعلي. تتوفّر حزمة npm سهلة الاستخدام هنا، وبالنسبة إلى مستخدمي Emscripten، هناك أيضًا تعليمات مفصَّلة حول إنشاء إصدار كامل. لإلقاء نظرة على كيفية تحسين SIMD وسلاسل المحادثات لأداء أعباء العمل هذه، يمكنك مشاهدة هذا القسم من المحادثة في مؤتمر Modern WebAssembly Chrome Dev Summit.

کوکوس

Cocos هو محرّك ألعاب قوي وشائع يتيح للمطوّرين إنشاء ألعاب تتيح إمكانية استخدام عدّة منصات، ويشمل ذلك الويب الآن. تنضم إلى القائمة الطويلة من محرّكات الألعاب التي تتيح تصدير بيانات الويب من خلال Wasm. للبدء، انتقِل إلى محرِّر Cocos واتّبع هذه التعليمات.

الخلاصة

بالإضافة إلى هذه الأمثلة المحدّدة، هناك الكثير مما يثير الاهتمام في ما يتعلق بقدرة WebAssembly على تغيير وتيرة وظائف الويب الجديدة. حتى أنّه تم إعداد صندوق Advanced Web Apps Fund الذي يمكن أن يساعد المطوّرين في تمويل أعمالهم من أجل تطوير وظائف الويب المتاحة لجميع المطوّرين.

صورة رئيسية من Pexels، من تصميم آن ماري كينون