ما يلي هو رد على المقال الجميل الذي كتبه جوش كولينزورث والذي يمكنك العثور عليه هنا.
قررت تنظيم هذا المحتوى من خلال أخذ كل اقتباس ملخص يقدمه في مقالته والرد على كل منهم برأيي.
لذلك يجب اعتبار هذه المقالة سلسلة من الأفكار التي تحدد الرأي الشخصي. من بين الـ 12 اقتباسًا المذكورة، وجدت نفسي أتفق مع ✅ 8 منها، وأختلف مع ❌ 3 وليس لي رأي في ؟ 1.
[TL;DR] بشكل عام أتفق مع رأي المؤلف ووجهة نظره، على الرغم من أن النظرة المشوهة التي خلقها المقال دفعتني في بعض الحالات إلى عدم الموافقة على بعض العبارات. لقد تسبب التحليل حول التحيز، في رأيي، في قدر مماثل من التحيز تجاه عالم التنمية من جانب المؤلف.
✅ أنا أتفق تماما مع هذا البيان.
لطالما اعتبرت الواجهة الأمامية "الأخ الأصغر" للواجهة الخلفية، وهذا خطأ. الواجهة الأمامية هي جزء من التطبيق الذي يراه المستخدم النهائي ويتفاعل معه، وبالتالي فهو أساسي لنجاح المنتج. لا يمكن التقليل من أهميتها، ولكن هذا يحدث كثيرًا، وأنا شخصيًا كنت أعتبر أحيانًا عملي كمطور للواجهة الأمامية "أدنى" مما فعلته في الواجهة الخلفية.
لماذا يحدث هذا؟ من وجهة نظري، أعتقد أن السبب في ذلك هو أنه في العقد الماضي، تم غزو عالم تطوير الواجهة الأمامية من قبل الأطر والمكتبات التي جعلت العمل أكثر بساطة وفي متناول الجميع. وقد أدى ذلك إلى الاستجابة للعديد من المشكلات التي نشأت في الماضي، مما أدى إلى أن يصبح تطوير الواجهة الأمامية "أبسط". وقد أدى ذلك إلى التقليل من قيمة دور مطور الواجهة الأمامية، الذي غالبًا ما يُنظر إليه على أنه "قرد الكود". ومع ذلك، فإن البساطة لا تعني السهولة، وغالبًا ما يُطلب من مطور الواجهة الأمامية حل المشكلات المعقدة واتخاذ قرارات مهمة، وذلك على وجه التحديد لأنه لم يعد يُتوقع منه حل المشكلات "البسيطة" التي تم حلها بالفعل بواسطة إطار العمل، بل بالأحرى لإثراء تجارب المستخدم بطرق جديدة ومبتكرة.يبدو الأمر كما لو أن CSS موجود في حالة كمومية غريبة؛ بطريقة أو بأخرى، كلاهما معقد جدًا للاستخدام، ولكن من السهل جدًا أن نأخذهما على محمل الجد، كل ذلك في وقت واحد.
✅ وهنا أيضًا أوافق.تعد CSS واحدة من أكثر اللغات التي يتم الاستخفاف بها وتقليل قيمتها في عالم تطوير الويب. CSS هي لغة قوية ومعقدة، تسمح لك بإنشاء واجهات مستخدم معقدة ومفصلة. ومع ذلك، فإن البعد عن الطريقة العادية لكتابة التعليمات البرمجية، وصياغتها الخاصة ومنطق التشغيل الخاص بها غالبًا ما يجعل من الصعب إتقانها واستخدامها. CSS هي لغة تتطلب الوقت والتفاني لإتقانها، وما حدث مع حركة
CSS-in-JS هو مثال واضح لكيفية محاولة المجتمع حل مشكلة غير موجودة عن طريق إنشاء جديدة، مع إضافة تجريد إلى لغة معقدة للغاية بالفعل.
في العديد من النواحي، تتمتع لغة CSS بتأثير أكبر من أي لغة أخرى على تجربة المستخدم، والتي غالبًا ما تؤثر بشكل مباشر على النجاح. لماذا إذن يتم التقليل من دورها إلى هذا الحد؟✅ أوافق.كما ذكرنا ردًا على الاقتباس السابق، أعتقد أن مشكلة CSS ترجع إلى منطق التشغيل الخاص بها وبناء الجملة الخاص بها. المشكلة هي أنه غالبًا ما يُنظر إليها على أنها لغة "ثانوية" مقارنة بجافا سكريبت، في حين أنها في الواقع لغة بحد ذاتها، بقواعدها وخصائصها، وتتطلب وقتًا للتعلم مشابهًا لوقت البرمجة. لغة CSS هي لغة قوية ومعقدة، ولا يمكن الاستهانة بدورها.
في الغالب، لا أحد يقول في الواقع أن الواجهة الأمامية أقل أهمية، أو أقل واقعية، أو أنه ليس عليك أن تكون ذكيًا للقيام بذلك. ولكن في كثير من الأحيان يبدو ضمنيا.
✅ أوافق جزئيًا.في الحقيقة، أرى أن هذا الموضوع أكثر وضوحًا مما يقول المؤلف. في الواقع، غالبًا ما أجد نفسي مضطرًا إلى الجدال مع الأشخاص الذين يعتبرون الواجهة الأمامية وظيفة "ثانوية" مقارنة بالواجهة الخلفية، والذين يعتقدون أن مطور الواجهة الأمامية لا ينبغي أن يكون
مبرمجًا، بل دعم لأولئك الذين يقومون بالعمل الحقيقي، الواجهة الخلفية. عندما يسألوني ما هو دوري، أجيب دائمًا Full-Stack، لأنه في تدريبي ونموي هناك عناصر مختلفة ومختلفة، وكان كلا وجهي العملة مهمًا وهامًا بالنسبة لي.
أعتقد أن المجتمع بحاجة إلى بذل المزيد من الجهد للقضاء على هذه العقلية. مطور الواجهة الأمامية محترف من جميع النواحي، وعمله أساسي لنجاح المنتج.يُطلب من مطور الواجهة الأمامية حل المشكلات المعقدة، مدعومًا بأدوات تتطور باستمرار - مما يزيد الحمل المعرفي بشكل كبير - واتخاذ قرارات مهمة تؤثر بشكل مباشر على تجربة المستخدم، وهي حصن المنتج الناجح.
إن إنتاجنا فني إلى حد ما، والأشياء الفنية لها تاريخ طويل من التقليل من قيمتها بشكل مأساوي لمجرد أنها تبدو بسيطة وممتعة.
✅ أوافق.يلعب عدم فهم الأدوار والمسؤوليات دورًا أساسيًا في صناعتنا. غالبًا ما يُنظر إلى مطور الواجهة الأمامية على أنه "فنان"، و"مبدع"، ويتم التقليل من قيمة عمله لأنه ليس "تقنيًا" مثل عمل مطور الواجهة الخلفية. وهذا خطأ من ناحيتين.
أولاً وقبل كل شيء، غالبًا لا يكون مطور الواجهة الأمامية هو من يقرر تصميم التطبيق، بل المصمم (UX، UI، أطلق عليه ما تريد). يُطلب من مطور الواجهة الأمامية ترجمة التصميم إلى كود، والقيام بذلك بطريقة فعالة وعالية الأداء. وهذا يتطلب مهارات تقنية ومعرفة محددة، والتي تتجاوز مجرد كتابة التعليمات البرمجية.
ثانيًا، كما ذكرنا سابقًا، غالبًا ما تتجاوز مسؤوليات مطور الواجهة الأمامية مجرد كتابة التعليمات البرمجية. إذا قمت بتعديل التعليمات البرمجية في تطبيق الواجهة الخلفية الخاص بي، فمن المرجح أن تلاحظ الاختبارات التلقائية أي تراجعات في وقت أقرب مما أستطيع. إذا قمت بتعديل التعليمات البرمجية في تطبيق الواجهة الأمامية الخاص بي، فمن المحتمل جدًا أن الطريقة الوحيدة لملاحظة أي تراجعات هي اختبار التطبيق يدويًا أو انتظار تقرير من العملاء النهائيين*. وهذا يجعل مهمة مطور الواجهة الأمامية أكثر تعقيدًا وتطلبًا مما قد يعتقده المرء. ناهيك عن مقدار
منطق الأعمال وإدارة الحالة - كلاهما يتم سكبهما على الفور في الواجهة الأمامية - مما يجعل الدور متكاملًا بشكل متزايد مع الأعمال.
*ملاحظة: أنا على علم جيدًا بوجود اختبارات شاملة، ولكن تنفيذها أكثر تعقيدًا وتكلفة من الاختبارات التلقائية التقليدية، علاوة على ذلك، غالبًا ما يتم التشكيك في موثوقيتها بسبب ظروفها العشوائية والخارجية.تشير اللغة إلى أن الواجهات منفصلة عن البرنامج، وليست جزءًا فعليًا منه.
؟ لا رأي في هذا.الإشارة هنا إلى المفارقة حيث يبدو أن هناك فرقًا في قطاعنا بين
المطور و المهندس والذي يجب بالضرورة أن يظهر على أنه شيء أكثر. ليس لدي أي رأي في هذه المسألة، ولكني أوافق على أن انتشار الألقاب واللافتات في أيامنا هذه لا يؤدي إلا إلى تعكير المياه فيما يتعلق بما يفعله كل منا في الواقع. يبدو أن كتابة CSS تشبه إلى حد كبير تدوين الملاحظات في اجتماع، مع التحيز الجنسي الضمني وتقليل أهمية مدون الملاحظات في الغرفة.
كما ذكرنا سابقًا في هذه المقالة، أوافق على التخفيض غير الصحيح لقيمة CSS وعالم الواجهة الأمامية بشكل عام. علاوة على ذلك، أشير في هذا الجزء من المقال إلى الشوفينية الموجودة في قطاعنا، ورغم أنني لم يكن لدي تصور مباشر عنها، إلا أنني أفهم حقيقتها وخطورتها. لا تزال صناعتنا في كثير من الأحيان بيئة معادية للنساء، وأعتقد أن المجتمع بحاجة إلى بذل المزيد من الجهد لمكافحة هذه العقلية.
كما لو أن المهمة شبه المستحيلة المتمثلة في دعم كل جهاز ممكن، ونظام التشغيل، وحجم الشاشة، والمتصفح، وتفضيلات المستخدم، والواجهة في الماضي والحاضر والمستقبل بسيطة للغاية، فقد اخترعنا كل التعقيد بأنفسنا، فقط لأننا شعرنا بالملل.
العبارات المضحكةإن تعقيد عالم اليوم يجعل دور مطور الواجهة الأمامية أكثر تعقيدًا من أي وقت مضى، وعندما تصبح نكات الواجهة الأمامية و
متحيزة ، فمن السهل الوقوع فيها فخ التقليل من قيمة عمل العاملين في الواجهة الأمامية. نعم، كمجموعة، نحن متحمسون لأشياء جديدة. لكن لماذا لا يجعلنا ذلك فضوليين، أو قابلين للتكيف، أو فضوليين؟ لماذا لا ننسب الفضل إلى فرحتنا بالتعلم، بدلاً من التشهير برفضنا البقاء في مكاننا؟
متلازمة الكائن اللامععلى الرغم من أن تطور عالم الواجهة الأمامية - كما ذكرنا سابقًا - قد أدى إلى انتشار الأفكار والأدوات والمنهجيات، إلا أن
مشكلة حقيقية وواسعة الانتشار، خاصة في مجتمع الواجهة الأمامية. هذا لا يعني أنه لا ينبغي أن تكون فضوليًا أو قابلاً للتكيف، ولكنك غالبًا ما تقع في فخ اعتماد تقنيات جديدة دون فهم كامل للإيجابيات والسلبيات، ودون تقييم ما إذا كانت ضرورية بالفعل أم لا. إذا كانت مهاراتنا ذات قيمة كشريط لاصق فوق شقوق أوجه القصور التنظيمية، فلماذا لا تكون ذات قيمة أثناء التخطيط وصنع القرار الذي أدى إلى تلك العيوب، عندما يمكننا منعها؟
يجب على مهندس البرمجيات (أو قائد التقنية، أو أي شخص مسؤول عن الهندسة المعمارية) إشراك كل عضو في الفريق في الاختيارات المعمارية - على الرغم من أن له الكلمة الأخيرة والمسؤولية عنها في النهاية - وكذلك القرار -عملية الصنع التي تؤدي إلى إنشاء تطبيق أو جزء منه يجب أن يشارك فيها كل عضو في الفريق، بما في ذلك مطوري الواجهة الأمامية. أولئك الذين قاموا بذلك لفترة كافية قد يتمكنون من العثور على ثغرات في تجربة المستخدم أو التصميم لا يراها الآخرون، ويمكن أن يؤدي إشراكهم في عملية صنع القرار إلى تجربة مستخدم أفضل ومنتج ناجح.
تقوم أدوات الواجهة الأمامية بتسويق نفسها كما لو أن الواجهة الأمامية شيء لا يرغب أحد في القيام به، ولا ينبغي لأحد أن يهتم به أكثر مما ينبغي.
التسويق
- كما يعرّفه جوش - لأدوات الواجهة الأمامية لم يقلل أبدًا من تحديات المطورين أو يحاول تبسيطها، باستثناء بعض الاستثناءات النادرة. تهدف هذه الأدوات بشكل متزايد إلى جعل عمل مطور الواجهة الأمامية أبسط وأكثر كفاءة، ولكن ليس مبتذلاً أبدًا، ومن الصحيح أن يظل الاتجاه كما هو. الوعد ليس أبدًا بجعل مطور الواجهة الأمامية قرد كود، ولكن السماح له بالتركيز على ما هو مهم حقًا: إنشاء تجربة مستخدم ناجحة والتأثير على الأعمال والعالم من حوله. الأمر نفسه ينطبق على عالم الواجهة الخلفية، حيث تطورت الأدوات للسماح للمطورين بالتركيز على المنتج، بدلاً من التركيز على الخيارات التقنية أو مشكلات التكوين. أخيرًا، دعونا نتذكر أن عالم علاقات المطورين قد تطور بطريقة منظمة في السنوات الأخيرة، ولا ينبغي اعتبار أي أخطاء من جانب بعض الشركات هي القاعدة.
يبدو أنه لم يعد أحد يفكر في الواجهة الأمامية باعتبارها جزءًا مهمًا من المنتج بعد الآن؛ إنهم يفكرون في الأمر فقط على أنه الصندوق الجميل الذي يصل إليه المنتج.
تعد الواجهة الأمامية جزءًا أساسيًا من المنتج، ولا يمكن التقليل من أهميتها، ولكن هذا لا يعني أنه يتعين عليك بالضرورة الانغماس في التعقيد والتجريد. يعد تطوير الواجهة الأمامية معقدًا بالفعل بما يكفي بحيث لا يتطلب تصميمًا فائق التطور أو بنيات غامضة، وكما هو الحال تمامًا في عالم الواجهة الخلفية، فإن التوحيد القياسي، إذا تم مع المعرفة الكاملة بالحقائق، يسمح لنا بعدم إضافة حمل معرفي غير ضروري والتركيز على جوانب أخرى من المنتج.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3