لماذا المواقع الكبرى لا تعتمد على أطر العمل المعروفة

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

سبق لي كتابة مقالة عن إيجابيات وسلبيات الإعتماد على أطر العمل في البرمجة بشكل عام، وسيكون من الجيد إذا عدنا لقراءة ذلك المقال ففيه عدد من الأفكار والمعلومات التي ربما ستساعدنا في الإجابة على سؤالنا اليوم 🙂

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

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

مسألة معرفة هدفك من وراء مشروعك مصيرية من أجل اختيار الطريق الذي ستسير فيه تقنيا. يجب أن يكون لديك تصور مستقبلي عام عن ما سيكون عليه مشروعك.

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

السيناريو الذي يجب تجنبه

لنتخيل مثلا أن شركة معينة بدأت مشروعها في 2014، وآنذاك اختارت لارافيل 4 لتطوير المشروع. بعدها بمدة قصيرة اضطرت للقيام ببعض التخصيصات في إطار العمل وبدأت بالعبث فيه لملاءمته مع متطلباتها.

هل ستستطيع هذه الشركة اليوم تحديث لارافيل إلى الإصدار 7 ؟ بالتأكيد لا! لأنها لم تعد تستخدم لارافيل بالأساس منذ الوقت الذي قررت الدخول إلى ملفاته المصدرية والتعديل عليها.

هذا حرمها من مزايا تحديث إطار العمل مثل دعم PHP 7، تحسين الأداء والسرعة، إصلاح الأخطاء إلخ...

بتعبير آخر هذه الشركة أصبحت تشتغل على إطار عمل آخر تماما، ولكنه إطار عمل هجين، فلا هو إطار عمل خاص بها وتم بناؤه بناء على ما تحتاجه فقط، ولا هو إطار عمل لارافيل 😅

هذا مشكل كبير لأنك الآن تحمل قنبلة موقوتة بين يدك ولا تعلم متى تنفجر 💣 قنبلة لست أنت من صممتها ومع ذلك امتلكت الشجاعة لمحاولة تفكيكها والعبث بها وإدخال التعديلات عليها 😄

أخيرا

أتمنى أن أكون قد أجبت على السؤال بشكل جيد.

لعلنا الآن صرنا على علم بأحد أهم الأسباب التي تجعل بعض المواقع الإلكترونية تعتمد على لغات البرمجة وليس على أطر عمل بحد ذاتها.