"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > WebAssembly: القوة العظمى التي لم تكن تعلم أنك بحاجة إليها

WebAssembly: القوة العظمى التي لم تكن تعلم أنك بحاجة إليها

تم النشر بتاريخ 2024-11-08
تصفح:588

WebAssembly: The Superpower You Didn’t Know You Needed

إذا كنت تتربص في دوائر المطورين لفترة كافية، فمن المحتمل أنك سمعت الهمسات حول WebAssembly (أو Wasm، لأن المطورين يحبون الاختصارات كما أحب) قهوة).

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

إذًا، ما هو WebAssembly بالضبط؟

تصور هذا: JavaScript وC يخرجان لتناول المشروبات، ويجريان محادثة عميقة حول السرعة والكفاءة، والازدهار - ولادة WebAssembly؟. Wasm هي لغة منخفضة المستوى تشبه التجميع يمكنك تشغيلها في متصفحك، وهي مصممة لجعل تطبيقات الويب أسرع وأكثر كفاءة وقادرة على تشغيل أشياء لا تعتقد أبدًا أن المتصفح يمكنه التعامل معها. فكر في الأمر كما لو أن متصفحك يحتوي على ستة عبوات أسفل سترته - جاهزة للارتقاء أكثر مما يمكن لجافا سكريبت أن تضعه.

باللغة الإنجليزية البسيطة؟ WebAssembly هو تنسيق تعليمات برمجية مجمعة يمكن تنفيذه بنفس سرعة تنفيذ تعليمات برمجية أصلية على الجهاز، وهو مصمم للعمل جنبًا إلى جنب مع JavaScript، وليس استبداله. لذا لا، ليس عليك إلقاء كل مهارات JS التي اكتسبتها بشق الأنفس في سلة المهملات حتى الآن.

لماذا يجب أن تهتم؟ (أو: لماذا نهتم بهذا الأمر؟)

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

إليك ما يقدمه WebAssembly إلى الطاولة:

  • السرعة: يعمل Wasm حقًا بسرعة. مثل "يحلق ثواني من أوقات التحميل" بسرعة. مثل، "فجأة تشعر بالسوء بسبب كل الأوقات التي واجهت فيها جافا سكريبت صعوبة" بسرعة.
  • مرونة اللغة: لم يعد عليك تقييد نفسك بجافا سكريبت بعد الآن. يمكنك البرمجة بلغة C وC وRust والمزيد. لا يهتم WebAssembly، فهو سيحول كل ذلك إلى أداء فائق السرعة في المتصفح. إنها سويسرا لغات البرمجة: محايدة، لكنها قوية في الخفاء.
  • القوى الخارقة للمتصفحات: هل ترغب في تشغيل ألعاب ثلاثية الأبعاد أو برامج CAD أو نماذج التعلم الآلي مباشرة في متصفحك دون أن يبكي جهاز الكمبيوتر الخاص بك في الخلفية؟ وسام يجعل من الممكن. يصبح متصفحك أقل "معالجًا للنصوص" وأكثر "بدلة الرجل الحديدي".

"لكنني أعمل في مجال تطوير الويب، وجافا سكريبت هي الحل الأمثل بالنسبة لي!"

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

في الواقع، يمكن لـ WebAssembly أن يجعل كود JS الخاص بك أفضل . إذا كانت لديك بعض المهام ذات الأداء الثقيل (مثل الحسابات المعقدة، أو تحليل الملفات، أو عرض الفيديو)، فيمكنك تسليمها إلى Wasm، والسماح لها بالتعامل مع العمل الثقيل بينما تركز JS على سحر معالجة DOM المعتاد.

العلاقة بين JavaScript وWebAssembly هي مثل فريق الأبطال الخارقين حيث يعمل الفريق الذكي (JS) والشخص القوي (Wasm) معًا لإنقاذ الموقف. ولم يتم استبدال أي منهما، بل إنهما أفضل معًا. مثل زبدة الفول السوداني والجيلي. أو علامات التبويب والمسافات (أمزح، لا تبدأ حربًا مشتعلة).

"حسنًا، حسنًا... ولكن كيف أبدأ في استخدام WebAssembly؟"

الخطوة 1: التنفس. قد يبدو Wasm مخيفًا، ولكن ليس من الصعب استخدامه - خاصةً إذا كنت قد كتبت من قبل بلغة مجمعة مثل C أو C أو Rust. إذا لم تقم بذلك؟ حسنا، تهانينا! يعد WebAssembly عذرًا رائعًا لتتعلم أخيرًا تلك اللغة المخيفة التي كنت تتجنبها.

الخطوة 2: احصل على مترجم يمكنه إنشاء Wasm. هناك الكثير من الأدوات التي ستأخذ التعليمات البرمجية الخاصة بك (في C وC وRust وما إلى ذلك) وتجمعها في Wasm. يعد Emscripten خيارًا شائعًا لمشاريع C/C، بينما يعد wasm-pack خيارًا ممتازًا لمشاريع Rust.

الخطوة 3: ضعها في متصفحك. بمجرد تجميع التعليمات البرمجية الخاصة بك في WebAssembly، يمكنك تحميلها في المتصفح والبدء في الاستفادة من تعزيزات الأداء الرائعة هذه. ومع ذلك، فإن Wasm لا يجذب الأضواء - فهو يهدف إلى العمل بتناغم مع JavaScript. سوف يستدعي كود JavaScript الخاص بك وظائف WebAssembly وكأنها مجرد جزء من العصابة. لا توجد دراما.

الخطوة 4: الربح. أو على الأقل، استرخ واستمتع بمشاهدة تطبيق الويب الخاص بك وهو يتجاوز اختناقات الأداء وكأنه يحتوي على زر نيتروز.

هل سيسيطر WebAssembly على العالم؟

انظر، نحن لا نقول أن WebAssembly سيجعل JavaScript عفا عليه الزمن أو أن متصفحك سيبدأ في الاحتراق تلقائيًا من خلال القوة المطلقة لتشغيل التعليمات البرمجية شبه الأصلية. لكن… ربما؟

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

الأفكار النهائية: Wasm هي الصفقة الحقيقية

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

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

ْعَنِّي

مرحبًا، أنا ProgramORdie، وهذه أول مقالة حقيقية لي وأريد تعليقاتك، لذا لا تتردد في ترك تعليق!!
يمكنك أيضًا الاطلاع على مشاريعي أو التواصل معنا على GitHub:programORdie2.

أتمنى أن تكون قد استمتعت بالمقال، أتمنى لك يومًا سعيدًا!؟

بيان الافراج هذه المقالة مستنسخة على: https://dev.to/programordie/webassembly-the-superpower-you-didnt-know-you-needed-c9o?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3