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

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

قبل بضعة أشهر، نشر بول كينلان مقالة عن أهم المشاكل التي تواجه المطوّرين في 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. بدأ بعض المطوّرين حياتهم المهنية من خلال الحصول على درجة رسمية في علوم الكمبيوتر، بينما بدأ آخرون حياتهم المهنية بشكل مستقل. يبحث بعض المطوّرين بنشاط عن الميزات الجديدة ويتطلعون إلى مواكبة آخر الأخبار من خلال قراءة ملاحظات إصدار المتصفّح، بينما يتعرّف آخرون على الميزات الجديدة من خلال الزملاء والأصدقاء. يرى البعض أنّ التعقيد هو جزء من الوظيفة ويحبّون مواجهة التحديات، بينما يريد البعض الآخر ببساطة إنجاز عملهم. عند التفكير في حلّ هذه المشاكل، من المهم أخذ هذا التنوع في الاعتبار.

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

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

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

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

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

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

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

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

الخاتمة

يتضمّن تطوير الويب الحديث العديد من العناصر المتغيّرة، بما في ذلك المعايير والمتصفحات والمكتبات وأدوات الملء اللاحق وأنظمة إدارة المحتوى (CMS) والأُطر وأفضل الممارسات والأدوات. يُعدّ هذا التنوع أحد الجوانب الرائعة في الويب، ولكن في الوقت الحالي، يعود الأمر إلى كل مطوّر على حدة لفهم كل قطعة ومدى توافقها مع بعضها.

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

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