مناقشة تفصيلية عن أهم المشاكل التي يواجهها مطوِّرو البرامج على الويب

مجموعة من الإحصاءات حول أهم الشكاوى لدى المطوِّرين، تم جمعها من عدد من محادثات إلى واحدة

قبل بضعة أشهر، نشر بول كينلان مشاركات حول أبرز المشاكل التي يواجهها المطوّرون في عام 2021، لذا أعتقد أنّه من المناسب بدء هذه المقالة بتعديل آخر ربعَين من السنة. وقد تحركت الأرقام قليلاً، ولكن لم يتغير الترتيب.

التحدي الربع الأول من عام 2021 الربع الثاني من عام 2021 الربع الثالث من عام 2021 الربع الرابع من عام 2021
مواكبة التغييرات في النظام الأساسي للويب أو معايير الويب. 27% 26% 27% 22%
مواكبة عدد كبير من الأدوات أو أُطر العمل الجديدة والحالية. 26% 26% 25% 21%
إنشاء تصميم أو تجربة تعمل بنفس الطريقة عبر المتصفحات. 26% 28% 24% 21%
اختبار على جميع المتصفحات 23% 24% 20% 20%
فهم التدابير الأمنية وتنفيذها 23% 25% 20% 19%

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

مناقشات المطوّرين

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

كانت هذه المحادثات بمثابة تذكير رائع بمدى روعة وتنوّع منتدى مطوّري الويب، وأود أن أشكر جميع المطوّرين الذين تحدَّثوا معنا. اكتسب بعض المطوّرين خبرة تزيد عن 25 عامًا، في حين بدأ البعض الآخر في عام 2020. بدأ بعض المطورين حياتهم المهنية من خلال درجة رسمية في علوم الكمبيوتر، في حين بدأ البعض الآخر حياتهم المهنية بشكل مستقل. يبحث بعض المطوّرين بشكل نشط عن الميزات الجديدة ويتابعونها من خلال قراءة ملاحظات إصدار المتصفّح، بينما يتعرّف البعض الآخر على الأشياء الجديدة من خلال الزملاء والأصدقاء. يعتقد البعض أن التعقيد هو جزء من الوظيفة ويستمتعون بتحمل التحدي، بينما يريد البعض الآخر فقط إنجاز مهمتهم. عند التفكير في حل الشكاوى، من المهم أن نبقي هذا التنوّع في أذهاننا!

من الأمور الشائعة بين جميع المطورين أنّهم جميعًا يستخدمون نظام إدارة محتوى (CMS) أو إطار عمل لأداء عملهم. وقد ذُكر كل من Wordpress وReact و Bootstrap وAngular وTailwind، ولم يكن أي من مطوّري البرامج يستخدم منصة vanilla على الويب في عملية الإنتاج. يعد اختيار إطار عمل عند بدء مشروع ما تحديًا، كثيرًا ما يأخذ المطورون في الاعتبار المتطلبات غير الفنية. على سبيل المثال، ما إذا كان من السهل تعيين مطور للعمل باستخدام إطار العمل هذا. لا يمكننا تحسين شكاوى المطوّرين إذا لم يشمل الحل أطر العمل وأنظمة إدارة المحتوى.

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

هناك مجال آخر من الغموض وهو تعريف معايير الويب. وعند سؤالهم عن أمثلة حول الالتزام بالمعايير، أشار العديد من المطوّرين إلى صعوبات في اتّباع أفضل الممارسات بدلاً من ذلك. هذا مجال آخر نحتاج إلى توضيحه في الاستطلاع.

يبحث المطوّرون عن أفضل الممارسات عند تنفيذ حالات استخدام وأنماط معيّنة. يتم ذكر مشاركات المدوّنات وStackOverflow كمصادر لأفضل الممارسات، ولكن غالبًا ما يتساءل المطورون عما إذا كانت المعلومات التي يقرأونها هي فعلاً أفضل الممارسات وما إذا كانت محدَّثة بأحدث الميزات وواجهات برمجة التطبيقات. وهي تريد مصدرًا رسميًا أكثر لقراءة هذه المعلومات.

تُعد مواكبة الميزات وواجهات برمجة التطبيقات التي تمكّن حالات استخدام جديدة مشكلة أصغر. يواجه المطورون معاناة أكبر في ما يتعلق بالميزات وواجهات برمجة التطبيقات والتغييرات على النظام الأساسي والتي تؤدي إلى تغيير أفضل الممارسات.

يتفق معظم المطوّرين على أنّ التوافق هو أحد أكبر التحديات. تتحسّن النتائج مع بذل جهود، مثل Compat 2021 وInterop 2022، ولكن من الواضح أنّ المطوّرين لا يعتبرون هذه المشكلة حلاً بعد.

يستخدم معظم المطوّرين رموز polyfill بطريقة أو بأخرى. مع ذلك، في كثير من الحالات، يكون الاستخدام واضحًا للمطوّرين، لأنّه يمكن إضافة رمز polyfill تلقائيًا باستخدام أداة مثل Babel أو إطار عمل. بالنسبة إلى الذين يديرون رموز polyfill بأنفسهم، يعرفون ما إذا كانت رموز polyfill "جيدة" مشكلة. أشار المطوّرون إلى استخدامهم عدد عمليات التثبيت على NPM ومنشئ رمز polyfill كإشارات. ذكر بعض المطوِّرين أنّهم بذلوا جهدًا لإزالة رموز polyfill التي أصبحت غير ضرورية بسبب انقطاع التوافق مع IE 11.

تتسبب أطر العمل في حدوث مشاكل تجزئة. وصلتنا تقارير تفيد بأنّ المطوّرين "عالِقوا" إلى إصدار قديم من إطار العمل، ومحدودية الميزات التي يمكنهم استخدامها نتيجةً لذلك، غير أنّ الانتقال إلى إصدار أحدث من إطار العمل نفسه قد يكون مكلفًا ويصعب تبريره.

الخاتمة

تتضمن تطوير الويب الحديث العديد من العناصر المتحركة، بما في ذلك المعايير والمتصفحات والمكتبات ورموز polyfill وأنظمة إدارة المحتوى وأُطر العمل وأفضل الممارسات والأدوات. وهذا التنوع هو أحد الأشياء الرائعة في الويب، ولكن في الوقت الحالي، يرجع كل مطوّر إلى كل مطوِّر على حدة في فهم كل جزء ومدى توافقه مع الآخر.

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

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