ما هو WebAssembly؟

ما هو WebAssembly؟
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. قراءة المزيد.

لأكثر من عقدين ، كانت JavaScript هي لغة البرمجة الوحيدة التي يمكن تشغيلها في المتصفحات. لغات أخرى مثل Python و C ++ و Go كانت أساسًا لبناء جانب الخادم لتطبيقات وخدمات الويب.





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





اجعل فيديو اليوم

يوفر WebAssembly خيارًا فعالاً ومفتوحًا وآمنًا يمثل جزءًا من النظام الأساسي للويب المفتوح. يمكنك استخدامه لإنشاء تطبيقات تعمل على المتصفحات والخوادم وفي بيئات أخرى.





تقديم WebAssembly

  مقدمة WebAssembly

WebAssembly (WASM) هي لغة W3C فعالة ومنخفضة المستوى ومحمولة. يحدد تنسيق رمز وواجهات للبرامج للتفاعل مع الأنظمة الأساسية على الويب.

هل يمكنك تسجيل المكالمات الهاتفية على iphone

يمكنك تجميع معظم لغات البرمجة في تنسيق التعليمات البرمجية الثنائية لـ WebAssembly. يمكن للمتصفحات تفسير وتشغيل رمز WASM الناتج تمامًا كما تفعل مع JavaScript العادي. يمكنك أيضًا تشغيل WebAssembly جنبًا إلى جنب مع كود JavaScript للحصول على أداء أعلى للتطبيق وإمكانية التشغيل البيني بين الاثنين.



أصبح WebAssembly معيارًا W3C في عام 2019 ، مع دعم في العديد من لغات البرمجة. بالنسبة الى مصنوع من WebAssembly ، هناك بالفعل العديد من المشاريع الشائعة التي تستخدم WebAssembly لشحن برامج سريعة وآمنة لمستخدميها.

تدعم العديد من لغات البرمجة ، بما في ذلك تلك الخاصة من جانب الخادم ، WebAssembly. وتشمل هذه Rust و Go و Python و C ++ و TypeScript و Java و PHP و Ruby. تفحص ال رائع-wasm-langs الموارد للتعرف على اللغات المدعومة من WebAssembly والحزم التي يمكنك استخدامها معها.





هذا مثال برنامج WebAssembly من Tutorials Point التي تُرجع عددين صحيحين كحد أقصى:

  نموذج كود WASM

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





كيف يعمل WebAssembly

يوجد WASM كهدف تجميع للغات البرمجة الأخرى للترجمة إليه. يمكنك الكتابة لغة البرمجة المفضلة لديك وتجميع كود المصدر إلى WASM bytecode الذي يعمل على العميل. تعني ترجمته إلى رمز الجهاز الأصلي أنه يمكن تشغيله بسرعة عالية ، وعادةً ما تكون أسرع من JavaScript.

تمت إزالة مقطع فيديو واحد أو أكثر من قائمة التشغيل لأنه تم حذفه من youtube.

تعد إمكانية التشغيل البيني لـ JavaScript إحدى الميزات الهامة لـ WASM. يمكنك استيراد وحدات WASM النمطية إلى تطبيق ويب وفضح وظائف WASM لاستخدامها في كود JavaScript. يمكن أن تستفيد أطر عمل JavaScript من WASM للحصول على أداء أعلى.

يستخدم WASM نموذج تنفيذ في وضع الحماية مشابه لجافا سكريبت. يتفاعل WASM مع الجهاز المضيف باستخدام ABIs (Application Binary Interface) مثل ملف واجهة نظام WebAssembly التي توفر الوصول إلى الموارد وخدمات النظام الأخرى بناءً على متطلبات البرنامج.

تدعم العديد من المتصفحات الحديثة WASM ، بما في ذلك Chrome و Microsoft Edge و Mozilla Firefox و Opera و Safari. لغات مثل Go و دعم الصدأ WASM خارج الصندوق.

لماذا يحتاج الويب WebAssembly

  ميزات WebAssembly

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

يوفر WebAssembly أيضًا مزيدًا من قابلية النقل والمرونة للغات التي لا تعمل على الويب. يجب أن يؤدي تقديم المزيد من اللغات إلى الويب (النظام الأساسي مفتوح المصدر الأكثر شيوعًا) إلى تحسين التجربة بشكل عام.

اعتماد WebAssembly يسير بخطى سريعة

تقوم العديد من الشركات والمطورين بإنشاء تطبيقات باستخدام WebAssembly. تستخدم Google و Dropbox و Cloudflare بنشاط WebAssembly في بعض تطبيقاتها.

يحظى WebAssembly بشعبية كبيرة بين مطوري Python و C ++ و Rust. عادةً ما يستخدم مطورو Python Pyoidide و PyScript ومطوري C ++ ومطوري Emscripten و Rust مع إطار عمل Percy و Yew و Sycamore و MoonZoon و Seed.