WebAssembly مقابل أطر عمل الهواتف المحمولة

هل سيحل WebAssembly محل أطر عمل تطوير تطبيقات الهواتف المحمولة الخاصة بك؟

يتساءل المطورون هذا السؤال. يحقق WebAssembly، أو Wasm، تقدماً ملحوظاً. عليك أن تعرف ما إذا كانت مجموعة أدوات (stack) تطوير تطبيقات الهواتف الحالية لديك معرضة للخطر.

ما هو WebAssembly؟

Wasm هو تنسيق ثنائي (binary format). يقوم بتشغيل الكود بسرعة تقارب السرعة الأصلية (near-native speed). يمكنك كتابة الكود بلغات مثل Rust أو C++ أو Go، ثم تقوم بتجميعه (compile) إلى Wasm. وهو يعمل في المتصفحات بشكل أسرع من JavaScript في المهام الثقيلة.

الهدف من Wasm هو قابلية النقل (portability). فمن خلال WebAssembly System Interface (WASI)، يمكن لـ Wasm العمل خارج المتصفح، ويشمل ذلك الخوادم وأجهزة الهواتف المحمولة.

كيف يقارن بأطر العمل الحالية:

تتيح لك الأدوات الحالية مثل Flutter و React Native كتابة الكود مرة واحدة لكل من Android و iOS، حيث تتولى هذه الأدوات إدارة واجهة المستخدم (UI) والمنطق البرمجي (logic).

مزايا WebAssembly:

• الأداء: يتفوق Wasm على JavaScript في معالجة الفيديو، والتشفير، والتعلم الآلي (machine learning). • حرية اختيار اللغة: لست مقيداً بـ Dart أو JavaScript، بل يمكنك استخدام اللغة التي تفضلها. • قابلية النقل: تعمل وحدة (module) Wasm بنفس الطريقة على المتصفحات والخوادم والهواتف المحمولة.

عيوب WebAssembly:

• لا توجد واجهة مستخدم أصلية (Native UI): لا يمكن لـ Wasm عرض زر أو التعامل مع إيماءات اللمس بمفرده؛ فهو يحتاج إلى جسر (bridge) للوصول إلى واجهات برمجة التطبيقات (APIs) الأصلية. • نظام بيئي غير ناضج: تمتلك أطر العمل مثل Flutter سنوات من الأدوات ودعم المجتمع، بينما يفتقر Wasm إلى هذا العمق. • التعقيد: الإعداد أكثر صعوبة، كما أن عملية تصحيح الأخطاء (debugging) أكثر صعوبة للمبتدئين.

المستقبل المرجح: نموذج هجين.

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

ستستخدم أطر العمل تقنية Wasm للحسابات الثقيلة، بينما ستحتفظ بطبقات واجهة المستخدم الخاصة بها لتسهيل العمل على المطورين.

الخلاصة:

لا تختار بين Wasm ومجموعة أدواتك الحالية، بل استخدم Wasm لجعل مجموعة أدواتك الحالية أسرع. راقب كيف يتكامل Wasm مع أدواتك، فهناك يكمن نمو أداء تطبيقات الهواتف المحمولة.

المصدر: https://dev.to/matthew_haydon/could-webassembly-actually-replace-the-mobile-frameworks-you-are-using-right-now-486l

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi