تستمر مناقشة اختيار إطار عمل JavaScript الأساسي لـ WordPress مع مدخلات من قادة مجتمع المصدر المفتوح

نشرت: 2017-09-27

استضافت قناة # core-js Slack الخاصة بـ WordPress اجتماعًا حيويًا ومثمرًا هذا الصباح بقيادة أندرو دوثي. ركزت المناقشة بشكل أقل على مقارنات إطار عمل محددة وبدرجة أكبر على الدور الذي سيلعبه إطار العمل في بناء واجهات مدعومة من JavaScript لـ WordPress. انضم إلى المساهمين المطورين الأساسيين والقادة من مجتمعات React و Vue ومهندسي Chrome وغيرهم من الأطراف المهتمة من خارج مجتمع WordPress.

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

بدأ Duthie بالسؤال عن الدور الذي يجب أن يلعبه إطار العمل في سير عمل مطور WordPress وطلب أيضًا من المساهمين في الإطار تقديم وجهات نظرهم حول التوصيات الخاصة بالواجهات القابلة للتمديد. أتاح هذا السؤال للحاضرين الفرصة للتأمل في موضوعات مثل دعم مكونات الويب ، وإمكانية التشغيل البيني للكتلة الحيادية لإطار العمل في Gutenberg ، وكيف يمكن أن يؤثر ذلك على النظام البيئي للمكوِّن الإضافي لـ WordPress.

قال مهندس جوتنبرج ماتياس فينتورا: "أنا لا أتفق قليلاً مع فكرة أن أي نواة (في هذه الحالة جوتنبرج) يستخدمها لتشغيل بعض تعقيدات بناء تطبيق ذي الحالة ستكون المعيار الفعلي لتطوير المكونات الإضافية". "الإطار الفعلي هنا ، بشكل عام ، سيكون ما يعرضه WordPress وواجهات برمجة التطبيقات."

من خلال نهج حيادي لإطار العمل لبناء Gutenblocks ، لا يجب أن تصبح المكتبة التي تقرر الأساسية البناء عليها المعيار الفعلي لمطوري المكونات الإضافية ، لكن يعتقد الكثيرون خارج فريق Gutenberg أنها ستنتهي حتمًا بهذه الطريقة في الممارسة. هناك فرق كاملة من المهندسين تنتظر هذا القرار ملتزمين بتبني أي إطار عمل يراهن عليه WordPress.

قال آدم بينيازيك: "لتقديم بعض المنظور حول كيفية تأثير قرار WP بشأن إطار العمل على المطورين في المراحل النهائية ، أنا مطور في جامعة بوسطن وخطتنا هي التركيز على أي إطار عمل تقرره WP ، حتى لو كان لدى Gutenberg واجهة برمجة تطبيقات غير محددة تمامًا" . "نحن في الأساس متجر WP (ما يقرب من 1000 موقع يعمل على تثبيت WP معظم / الكثير من تواجدنا العام على الويب) وينتهي بنا الأمر بإنشاء تخصيصات ضخمة أعلى WP والتي تتطلب غالبًا الغوص في جوهرها لمعرفة ما يحدث بالفعل في الخلفية . أحب Vue أكثر من React شخصيًا ، ولكن إذا قررت WP الأمر بشأن React ، فسوف تركز BU على بناء الخبرة في React عندما نحتاج إلى إلقاء نظرة خاطفة / تصحيح الأخطاء خارج واجهة برمجة التطبيقات. هذا لا يعني أننا لن نستخدم Vue أيضًا ولكنه لن يكون تركيزنا الأساسي ".

تعكس ملاحظات Pieniazek صدى المؤسس المشارك لشركة Gravity Forms كارل هانكوك ، الذي قال إن فريقه مستعد لتبني أي مكتبة يختارها WordPress.

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

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

قال بول باكوس ، مهندس AMP: "نظرًا لأن Gutenberg نفسها ستصبح منصة للبناء من أجلها ، فإن أفضل مستوى للفصل هو إذا تم استخدام إطار العمل لبناء النواة ، ولكن لم يتم الكشف عنها كواجهة برمجة تطبيقات لمنع البناة". "يمنح هذا الشخص خيار استبدال الأساس الأساسي عند الضرورة."

لخص مهندس جوتنبرج رياض بنغيلا النهج الذي ناقشه الفريق:

أعتقد أن ما نحاول إيصاله هو شيء مثل:

- سيستخدم WordPress Core إطار عمل X هذا داخليًا
- إذا كنت تريد استخدامه ، فنحن نعتقد أنه جيد
- إذا كنت ترغب في استخدام شيء آخر ، يمكنك بسهولة استخدام إطار العمل الذي اخترته Core

قال بنجيلا أيضًا أن أحد أهداف Gutenberg هو "وضع الأساس لكيفية توسيع واجهة مستخدم WordPress في المستقبل." بمجرد أن يتم الشحن ، من المحتمل أن يضع الفريق أنظاره على أجزاء أخرى من wp-admin ويبنيها بنفس الطريقة.

"إذا كان من الممكن توسيع جميع أجزاء واجهة مستخدم WP عبر واجهة قياسية ، سواء كانت واجهة برمجة تطبيقات بسيطة" لأسفل البيانات أو الأحداث "أو توقع مرحاض ، أعتقد أن هذا سيفصل بشكل واضح الاهتمامات المتعلقة" بإطار العمل الذي يجب استخدامه للنواة قال إيفان يو ، مبتكر Vue.js.

عندما سئل عن أفكاره حول تحول React إلى إطار عمل أساسي لـ WordPress ، كان دان أبروموف المشرف على React مترددًا في الدعوة إلى اعتماد WordPress للمكتبة. أكد رده على ضرورة وجود نهج حيادي الإطار لتوسيع Gutenberg وإصلاحات واجهة WP المستقبلية.

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

قال إيفان يو: "أشعر أيضًا بنفس الشعور". "إن فرض إطار عمل واحد على الجميع ، بغض النظر عن إطاره ، لا يعد IMO فكرة جيدة لأنه لا بد أن ينفر مجموعة المطورين الذين ليسوا في هذا الإطار ، ويفرض مخاطر استقرار أكبر على المدى الطويل."

قال أبراموف أيضًا إن الناس بالفعل "مريرون جدًا ومثيرون للانقسام" حول موضوع اختيار إطار العمل. كما غرد بمشاعر مماثلة قبل الاجتماع.

قال إيفان يو: "أعتقد أنه من المهم (ومن الممكن تقنيًا) الفصل بين" إطار العمل الذي يجب استخدامه للنواة "و" إطار العمل الذي يستخدمه مطورو المجتمع للإضافات ".

"نعم ، أعتقد أن هناك هدفًا هنا يتمثل في عدم الموافقة على ما نعرضه لمؤلفي المكونات الإضافية ، طالما أن واجهات برمجة التطبيقات / الواجهات التي نعرضها مرنة (وسهلة) بما يكفي لبناء واجهات المستخدم والتفاعلات التي يحتاجون إلى تنفيذها ، قال أندرو دوثي.

كان موضوع دعم التشغيل البيني لمكونات الويب لـ Gutenblocks أيضًا جزءًا من المناقشة خلال الاجتماع.

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

قال ممثل Polymer.js Justin Fagnani إنه لا يوافق على أنهم "أقل قوة" وأشار إلى أن مكونات الويب هي بالفعل معيار W3C.

قال دارين إثيير ، مطور EventEspresso الأساسي ، "أعتقد أن WP في وضع فريد أيضًا للمساعدة في دفع الدعم إلى الأمام لمكونات الويب في كل مكان". "تتمتع جميع أطر العمل تقريبًا بالقدرة على العمل مع مواصفات مكون الويب الآن. إنها مجرد مسألة تنفيذ سليم ".

أشار العديد من المشاركين إلى custom-elements-everywhere.com ، وهو موقع يعرض تقدم أطر عمل JS الشائعة في توصيل العناصر المخصصة بطريقة تعزز قابلية التشغيل البيني. سأل Matias Ventura مطوري React و Vue core كيف تتناسب مكونات الويب (ومستقبلهم) مع كل إطار في الوقت الحالي.

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

قال إيفان يو: "على المستوى العالي ، أعتقد أن أطر عمل مثل React / Vue توفر ما لم يتم تناوله حقًا في مكونات الويب: تحديثات DOM فعالة ومعلنة تتفاعل مع تغييرات الحالة". وهذا هو سبب وجود البوليمر أعلى مرحاض. لقد أدركت دائمًا قيمة WC كواجهة إمكانية التشغيل المتداخل. "

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