مجموعة من الإحصاءات حول أهم المشاكل التي يواجهها المطوّرون، تم جمعها من عدد من المحادثات الفردية.
قبل بضعة أشهر، نشر بول كينلان مقالة حول أهم المشاكل التي واجهها المطوّرون في عام 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، ولم يكن أي من المطورين يستخدم منصة الويب الأساسية في الإنتاج. يُعدّ اختيار إطار عمل عند بدء مشروع أمرًا صعبًا، وغالبًا ما يأخذ المطوّرون في الاعتبار المتطلبات غير الفنية. على سبيل المثال، ما إذا كان من السهل توظيف مطوّر للعمل مع إطار العمل هذا. لا يمكننا تحسين المشاكل التي يواجهها المطوّرون إذا لم يتم تضمين أُطر العمل وأنظمة إدارة المحتوى في الحلّ.
بالحديث عن منصة الويب، يفهم معظم المطوّرين المنصة على أنّها الشيء الذي يطوّرون فوقه. ويشمل ذلك ليس فقط التعريف الكلاسيكي لمنصة الويب، بل أيضًا أنظمة إدارة المحتوى وأُطر العمل والأدوات وpolyfills. في كثير من الحالات، تكمن الصعوبة الأكبر في مواكبة هذه التغييرات. أدى هذا إلى تغيير تفسيرنا لهذا السؤال، ونعلم الآن أننا بحاجة إلى تحديث الاستبيان الخاص بنا لتقسيمه إلى أجزاء مختلفة أقل غموضًا.
هناك جانب آخر من الغموض وهو تعريف معايير الويب. عندما سألنا المطوّرين عن أمثلة على مواكبة المعايير، أشار العديد منهم إلى صعوبات في مواكبة أفضل الممارسات بدلاً من ذلك. هذا مجال آخر نحتاج إلى توضيحه في الاستطلاع.
يبحث المطوّرون عن أفضل الممارسات عند تنفيذ حالات استخدام وأنماط معيّنة. يتم ذكر منشورات المدوّنات وموقع StackOverflow كمصادر لأفضل الممارسات، ولكن غالبًا ما يتساءل المطوّرون عمّا إذا كانت المعلومات التي يقرأونها هي بالفعل أفضل الممارسات وما إذا كانت محدّثة بأحدث الميزات وواجهات برمجة التطبيقات. ويريدون مصدرًا رسميًا أكثر لقراءتها.
أما مواكبة الميزات وواجهات برمجة التطبيقات التي تتيح حالات استخدام جديدة، فهي مشكلة أصغر. يواجه المطوّرون صعوبة أكبر في التعامل مع الميزات وواجهات برمجة التطبيقات والتغييرات التي تطرأ على المنصة والتي تؤدي إلى تغيير في أفضل الممارسات.
يتفق معظم المطوّرين على أنّ التوافق هو أحد أكبر التحديات. هناك تحسّن في الوضع بفضل جهود مثل Compat 2021 وInterop 2022، ولكن من الواضح أنّ المطوّرين لا يرون أنّ المشكلة قد تم حلّها بعد.
يستخدم معظم المطوّرين الرموز البرمجية polyfill بطريقة أو بأخرى. ومع ذلك، في كثير من الحالات، يكون الاستخدام واضحًا للمطوّرين، لأنّه يمكن إضافة polyfill تلقائيًا من خلال أداة مثل Babel أو إطار عمل. بالنسبة إلى المطوّرين الذين يديرون الرموز البرمجية polyfill بأنفسهم، قد يكون من الصعب تحديد ما إذا كان الرمز البرمجي polyfill "جيدًا". أشار المطوّرون إلى استخدام عدد عمليات التثبيت على NPM ومنشئ polyfill كإشارات. ذكر اثنان من المطوّرين أنّهما يعملان على إزالة الرموز البرمجية polyfill التي أصبحت غير ضرورية بسبب إيقاف دعم IE 11.
تؤدي أطر العمل إلى حدوث مشاكل في التجزئة. تلقّينا بلاغات تفيد بأنّ المطوّرين كانوا "عالقين" في إصدار قديم من إطار عمل، وكانوا مقيدين في الميزات التي يمكنهم استخدامها بسبب ذلك، ولكنّ الانتقال إلى إصدار أحدث من إطار العمل نفسه قد يكون مكلفًا ويصعب تبريره.
الخاتمة
تتضمّن عملية تطوير الويب الحديثة العديد من العناصر المتغيّرة، بما في ذلك المعايير والمتصفّحات والمكتبات وpolyfills وأنظمة إدارة المحتوى وأُطر العمل وأفضل الممارسات والأدوات. هذا التنوّع هو أحد الميزات الرائعة في الويب، ولكن في الوقت الحالي، يعود الأمر إلى كل مطوّر على حدة لفهم كل جزء وكيفية توافقه مع الأجزاء الأخرى.
أتساءل عمّا إذا كانت هناك طريقة لتوضيح كيفية ترابط كل هذه العناصر للمطوّرين وتحقيق المزيد من التوافق بينها، بدون التأثير في التنوّع. إنّها مشكلة كبيرة ومعقّدة، ومن الصعب حلّها دفعة واحدة. ولكن من أين تبدأ؟
إذا كانت لديك آراء تريد مشاركتها يسرّني التحدّث معك أيضًا. سأعمل على إعداد طريقة لحجز المحادثات مباشرةً، ولكن في الوقت الحالي، يمكنكم إرسال رسائل مباشرة إليّ على Twitter. يُرجى التواصل معنا وسنخصّص بعض الوقت لمناقشة هذا الموضوع.