معاذ الخلف M.Alkhalaf
معاذ الخلف M.Alkhalaf

@muath2

30 تغريدة 186 قراءة Jul 29, 2020
اليوم راح أتكلم عن تجربتي مع #وورد_بريس #wordpress خلال الستة أشهر الماضية في مشروع حقيقي وعن السلبيات والايجابيات وودي أسمع آراءكم أيضا في الموضوع سواء عاشق للوردبريس أو كاره له.
المشروع كان سابقا مبني على #فايربيس ومن ثم قمت باعادة البناء من جديد والانتقال الكامل لووردبريس. سبق تكلمت عن تجربتي مع فايربيس في تغريدات سابقة وممكن تقرأها للمقارنة
نبذة سريعة لمن لا يعرف ووردبريس. هو نظام مبني بلغة PHP بدأ كنظام لمواقع التدوين #blog وادارة المحتوى Content Management System أو #CMS ومن ثم توسع انتشاره لبناء المواقع الشخصية ومواقع الشركات و التجارة الإلكترونية وعدد آخر كبير من المواقع في مجالات متعددة.
wordpress.org
لماذا الانتقال؟ سبب واحد رئيسي وهو سرعة التنفيذ. بعد أن بدأ تنفيذ المشروع في التأخر قليلا - وبعد البحث عن بديل - وجدت أن كثيرا من الوظائف التي أبحث عنها موجودة وجاهزة في بعض ال plugins أو الاضافات للووردبريس (أو هكذا توهمت 😅)
باستخدام فايربيس كان فريق التطوير مجبر على برمجة كل شيء من الصفر تقريبا فكان الهدف الانتقال لووردبريس لاختصار الجهد وعدم اعادة اختراع العجلة خصوصا في الجانب المتعلق بإجراءات العمل workflow في الباكاند (التطبيق نفسه مثلا لم يتغير كثيرا وانما تم اضافة وظائف له). فكيف كانت التجربة؟
هناك جانبين سلبيين لدرجة كبيرة جدا في ووردبريس وهما:
١- صحيح ان الاضافات أو ال plugins تختصر جهد كبير في التطوير ولكنها تنتج نظام برمجي معقد جدا ومتداخل مع بعضه وظيفيا ومكتوب من قبل جهات عديدة وبطريقة ينتج عنها كم هائل من التعارضات بين الاجزاء (الاضافات) المختلفة لهذا النظام.
١- (يتبع) بعبارة أخرى أنت أمام قنبلة موقوته وداخل حقل ألغام. أي تحديث للوردبريس أو أيا من الاضافات قد ينتج عنه مشاكل مع باقي الاضافات. المصيبة الكبرى أن فريق العمل غير قادر ليس فقط على حل المشكلة ولكن معرفة مصدر المشكلة.
١- (يتبع) هذا الشيء قد لايحدث لدى الكثير من مستخدمي الووردبريس كمنصة للتدوين مع بعض الاضافات البسيطة أو حتى كمتجر الكتروني تقليدي باستخدام اضافة woocommerce المشهورة مع بعض الاضافات الأخرى المصاحبة لها. ولكن عندما تبدأ باستخدام المزيد من الاضافات وتبدأ بتخصيص الوظائف بشكل عميق ..
١- (يتبع) لكي تتوافق بالضبط مع ما تريده كتجربة مستخدم أو كاجراءات عمل، هنا تبدأ الصعوبات والمصايب 😰. لا تكمن المشكلة فقط في عدم قدرة فريق التطوير على التخلص من المشكلة في زمن معقول، ولكن كثير من مطوري اضافات ووردبريس سيئيين لأبعد الحدود ولا يهتمون بتاتا برضى العميل ...
١- (يتبع) يأتيك الرد بأنك تستخدم بعض الاضافات في نظامك التي قد تتعارض مع اضافتنا ونحن غير مسؤولين عن المشاكل التي تحصل. اذا كنت محظوظ - واذا كانت الاضافة من فريق أكثر احترافية - سيعرضون عليك خدمات تطوير ودعم فني بالساعة وبأسعار عالية. هذا العذر جاهز لدى الغالبية تقريبا وكأنه عرف.
١- (يتبع) في بعض الأحيان تكون هناك اضافات مهمة جدا وتجد نفسك في النهاية عاجزا عن تشغيلها ومثال على ذلك اضافات الكاش. جربت ثلاثة منها وعلى مدى شهر لم استطع تشغيل أي واحدة بدون مشاكل مما اضطرني في النهاية إلى صرف النظر عن فكرة الكاش لأني أيضا وجدت عدد لا نهائي من الشكاوى من غيري
١- (يتبع) باختصار، ما شهدته في مجتمع ووردبريس من الاستغلال المالي وعدم الاهتمام بالعميل نهائيا هو شيء لم أشهده في أي مجتمع آخر. ولكن - وبعيدا عن هذا المستوى المتدني من الدعم الفني والاهتمام بالعميل - أنا مؤمن أن هناك مشكلة بنيوية في طريقة عمل اضافات ووردبريس تجعله عرضه لهذه ...
١- (يتبع) المشاكل. ماذا أقصد؟ كثير من النظم يتم بناؤها من أجزاء مختلفة سواء باستخدام مكتبات برمجية أو باستخدام خدمات من الويب تقوم بتأدية غرض معين. عادة ما تعمل هذه الأجزاء مع بعضها البعض داخل النظام الواحد في تناغم ودون مشاكل على عكس ما شهدته في ووردبريس ...
١- (يتبع) وذلك لاختلاف طريقة التكامل integration فيما بين أجزاء النظام في الحالتين. احساسي - وقد أكون مخطئا لعدم تعمقي في الموضوع - أن هناك تشابك coupling كبير بين أجزاء النظام في ووردبريس. هذا تفسيري للموضوع وأود أن اطرحه هنا للنقاش لمن لديه رأي مختلف وقد يكون أكثر فهما مني ...
١- (يتبع) لطريقة تكامل الأجزاء (الاضافات) المختلفة من أي نظام مبني على ووردبريس.
كيف يمكنك تجنب هذه المشكلة؟
(أ) احرص على وجود مطور واحد على الأقل خبير جدا جدا جدا بووردبريس. معظم مطوري ووردبريس هم في الحقيقة مطوري وجهات ويب front end بمعلومات ضحلة وفهم ضعيف ...
١- (يتبع) لكيفية عمل النظام من الداخل وبالتالي عدم القدرة على - لا أقول فهم - ولكن على الأقل تحديد أسباب التعارضات التي قد تحصل بين الإضافات المختلفة لحلها.
(ب) قلل من عدد الاضافات قدر الامكان وجهز بيئة خاصة تكون نسخة طبق الأصل من بيئة التشغيل (البيئة الحية) لاختبار كل ...
١- (يتبع) اضافة بحيث تكون هذه البيئة منفصلة عن بيئة التطوير حتى يتمكن فريق التطوير من اخذ الحرية الكاملة في التطوير قبل الدخول في معمعة التعارضات. من المضحك المبكي هنا أن معظم الاضافات (وأتكلم عن اضافات لديها أكثر من مليون داونلود) لا تعترف بوجود بيئات مختلفة للمشروع رغم أن ...
١- (يتبع) هذا الموضوع عرف منتشر ومعروف لدى المبرمجين في كل أنحاء العالم. تناقشت مع العديد منهم واضطررت في كثير من الأحيان الى شراء أكثر من لايسنس لتجاوز هذه المشكلة لذلك كن مستعدا لدفع ضعف أو ضعفي سعر كل اضافة. باختصار مجتمع سيء ويغلب عليه الاستغلال المالي والكسب السريع.
٢- الجانب السلبي الثاني و المشكلة الكبرى الثانية هو الضعف الشديد في دعم التطبيقات والمتثل في عدم وجود أي REST API لمعظم الاضافات وللضعف العام في تصميم ال REST API للووردبريس نفسه. ما هو الحل؟ في الحقيقة لا يوجد حل إلا أن تبني أنت بنفسك ال REST API لهذه الاضافات ...
٢- (يتبع) وهنا قد تقع في مشكلة وهي أن بعض هذه الاضافات تفترض وجود متصفح للموقع وجلسة عمل session قائمة وهذا سيصعب عليك الموضوع كثيرا. بامكانك الاستغناء على ال REST API وبناء تطبيق باستخدام ionic مثلا بحيث يكون حاوية فقط للموقع ولكن ستفقد الكثير من مميزات ال native app...
٢- (يتبع) أضف لذلك أن بعض الميزات في موقعك الويب قد لا تعمل داخل المتصفح الموجود في تطبيقات الايفون والاندرويد ولذلك يجب عليك الاختبار بشكل مستمر والانتباه لمثل هذه الأمور. ملخص الموضوع هو أنك ستواجه مشاكل عديدة في استخدام الووردبريس واضافاته عموما كباك اند لتطبيق جوال.
أعلاه هما أكبر سلبيتين ومشكلتين في ووردبريس واجهتهما ولكن هناك عدد من السلبيات الأخرى عند المقارنة مع فايربيس وهي:
٣- فايربيس مستقرة تشغيليا بشكل مذهل. إنس هم تشغيل الموقع أو سرعة الموقع أو التطبيق. دايما شغال وبسرعة ممتازة وبأمان عالي...
بالمقابل فإن ووردبريس يعتمد على قدرتك في ادارة وحماية السيرفر بالشكل المطلوب. بامكانك استخدام الاستضافة المدارة managed hosting من قبل أحد الشركات التي تقدمها وهو ما بدأت به ولكن حدثت لي بعض المشاكل وبطء في الموقع مما اضطرني للانتقال إلى استضافة وسيرفر خاص.
ما يحتاج أقول لكم ان خبرتي القديمة والطويلة جدا في لغة php كانت عامل أساسي ورئيسي في تجنب وكذلك حل الكثير من المشاكل والتي لما نشاهدها مطلقا في فايربيس. بعض هذه المشاكل هي نتيجة محاولة خلق أفضل تجربة للمستخدم من ناحية الأداء وسرعة وسلاسة عمل التطبيق كما كان الوضع في فايربيس.
أقول هذا الكلام لأن الكثير من مطوري ووردبريس معلوماتهم للأسف ضعيفة في جانب ادارة السيرفرات ولذلك ستحتاج لشخص في الفريق متخصص بهذا الجانب.
٤- فايربيس تقدم عدد كبير من الخدمات للتطبيقات غير متوفرة في ووردبريس وهذا كنت مدرك له بشكل كامل منذ البداية ولذلك ربطت المشروع بفايربيس ولم أتخل عنها نهائيا. أمثلة على هذه الخدمات: تسجيل الدخول برقم التلفون ب ١٠ الاف رسالة مجانا كل شهر، الاشعارات push notifications ...
الاناليتكس الجاهزة للتطبيق مع داشبورد متكاملة، ال realtime وهو ما يمكن استخدامه في المحادثات وغيرها.
٥- استضافة فايربيس أرخص من استضافة ووردبريس (إذا أحسنت تصميم قاعدة البيانات 😅 وضبطت عدد عمليات القراءة) وقابلة للتوسع scaling بشكل مرن جدا بدون الحاجة لكاش أو CDN أو غيرها
يبقى السؤال: هل كان التغيير لووردبريس خاطئ؟ أجزم بأنه كان التغيير الصحيح لانه وفر علينا وقت كبير في تطوير الكثير من الوظائف اللي يحتاجها البزنس. كان متعب كثيرا خصوصا في الجانب التشغيلي وحل المشاكل وخبرتي القديمة في php انقذت الكثير ولكن كان سرعة انجاز الوظائف أكبر منه في فايربيس.
اذا كنت تنوي استخدام ووردبريس ولديك مشروع ذو خصوصية ويحتاج لعملية تطوير وتخصيص لووردبريس فاحرص قدر الامكان على وجود مطور واحد على الأقل ذو خبرة عميقة بكيفية وتفاصيل عمل هذا النظام وهذه المنصة من الداخل وكيفية كشف وحل أي مشاكل في التعارض بين الإضافات المختلفة
بانتظار رأيكم 🙏 ومقترحاتكم التي لانستغني عنها واذا أنت مطور فلتة في ووردبريس وودك تشتغل معي راسلني لأني بحاجة لمطور فنان يريح دماغي شوي حتى لو بارت تايم 😅

جاري تحميل الاقتراحات...