Vue.js Creator Evan You تزن في مناقشة إطار عمل JavaScript في WordPress
نشرت: 2017-06-06
في الأسبوع الماضي ، قام المساهمون الأساسيون في WordPress بتضييق نطاق اعتباراتهم الخاصة بإطار عمل JavaScript جديد إلى React و Vue. نظرًا لأن الفريق الأساسي لديه معرفة جماعية أكبر بالعمل مع React ، فقد توصلوا إلى مطورين لديهم خبرات مختلفة في استخدام أطر عمل أخرى في سياق WordPress.
أحد أهم اهتمامات المساهمين فيما يتعلق بـ Vue هو طول عمر المشروع. سألت منشئ Vue Evan You عما إذا كان بإمكانه التفكير في الموضوع لمنح المساهمين في WordPress فهمًا أفضل للمشروع ، وتحديداً فيما يتعلق بجهوده لتنمية مشرفين إضافيين للمساعدة في مشاركة عبء الصيانة.
قلت: "أعتقد أنه من المهم إلقاء نظرة على سجل الإنجازات - لقد كان Vue موجودًا منذ ما يقرب من 4 سنوات ، وتم تنفيذ جميع الأعمال علنًا على GitHub حتى يتمكن أي شخص من الذهاب والتحقق من سجل الصيانة". "على الرغم من أنني قمت بتطويره إلى حد كبير ، إلا أن الصيانة الحالية تعتمد على المجتمع بشكل أكبر. لدينا أعضاء فريق أساسي نشيطون يقومون بترتيب معظم المشكلات ونسبة مئوية أكبر وأكبر من المشكلات التي تم إصلاحها بواسطة ممثلي العلاقات العامة في المجتمع. لذا - نعم ، لقد كنت أعمل بالفعل على زراعة مشرفين إضافيين وسأواصل القيام بذلك ".
تتلقى حاليًا 10 آلاف دولار أمريكي شهريًا من تبرعات Patreon المتكررة التي تمول جهوده بدوام كامل في العمل على Vue. قبل ذلك ، عمل أيضًا في Google و Meteor. خلال الفترة التي قضاها في Google ، استخدمت بعض المشاريع التي عملت عليها Angular ، والتي قال إنه وجدها ثقيلة جدًا بالنسبة لحالات استخدامه في ذلك الوقت. قام ببناء Vue.js ليكون تطبيقًا خفيفًا أكثر للمفاهيم التي أحبها في Angular.
لقد قلت مؤخرًا إنه تعلم الكثير من مجتمع React ، والذي أثر على بعض قراراته الفنية في Vue 2.
لقد تعلمت الكثير من مجتمع React - على كل من الكود والأشخاص. آمل أن يكون الجميع مثل dan_abramov. سلام.
- إيفان يو (youyuxi) 29 مايو 2017
قلت: "أولاً ، يستخدم Vue 2 نفس نموذج العرض المستند إلى DOM الظاهري ، والذي كان أول من ابتكره React". "إن تقديم Virtual DOM أتاح لـ Vue الكشف عن قوة تكوين vdom مع الحفاظ على سهولة الوصول.
"مجتمع React نشط للغاية أيضًا عندما تكون هناك مجالات مشكلة جديدة يتم استكشافها - مثل إدارة الحالة وإدارة CSS. هناك العديد من الحلول المتنافسة والكثير من الإلهام عندما كنت أقوم بتنفيذ الحلول الرسمية لـ Vue ".
يخاطب إيفان يو المفاهيم الخاطئة للمساهمين الأساسيين في WordPress حول Vue.js
قلت إنه كان يتابع مناقشات المساهمين في WordPress حول React vs Vue ، لكنه لن يقدم رأيًا بشأن الخيار الأفضل للمشروع.
قلت: "من الواضح أن إجابتي ستكون منحازة ، وبصراحة أنا لست في مكان فريق WP الأساسي ، لذلك ليس لدي منظور كافٍ لاتخاذ قرار". "ومع ذلك ، يمكنني تقديم ملاحظات حول بعض القضايا التي تتم مناقشتها على أمل مساعدتهم في اتخاذ قرار مستنير."
لقد تركت تعليقًا على أحدث ملاحظات اجتماع جافا سكريبت مع توضيحات حول بعض حالات سوء الفهم حول Vue.js. لقد تناولت النقطة المتعلقة بـ "احتضان لغة JavaScript" ، حيث يعتقد بعض المساهمين أن لغة Vue النموذجية تحجب JavaScript الأساسي.
قال Andrew Duthie خلال الاجتماع الأخير: "أعتقد أن" تبني لغة JavaScript هي لغة بدائية أخرى في React لا نراه في Vue ".

يقارن ردك استخدام Vue للقوالب كـ "سكر لغوي لعرض التمثيل أعلى HTML" بما يعتقد أنه استخدام مشابه في حالة JSX كعرض تمثيل أعلى JavaScript:
الثراء المتزايد لواجهة المستخدم لا يستلزم وضع كل شيء في JavaScript. من ناحية أخرى ، لا يعني مجرد استخدام Vue للقوالب افتراضيًا أنه يسمح للأشخاص بالمرور دون تعلم JavaScript بشكل صحيح.
يتم تجميع قوالب Vue في وظائف عرض JavaScript تحت الغطاء وهي في الواقع أقرب إلى JavaScript من قوالب السلسلة التقليدية. إنها مجرد طبقة من السكر النحوي أعلى تمثيل DOM الأساسي. فكر في JSX كسكر لغوي لعرض التمثيل أعلى JS ؛ تعد قوالب Vue بمثابة سكر لغوي لعرض التمثيل أعلى HTML.
يوفر JSX / Raw JS مزيدًا من المرونة عندما تحتاج إلى تطبيق معالجة مباشرة لعقد DOM الافتراضية ، ولهذا السبب يدعم Vue أيضًا وظائف العرض. لكن هذا لا يضع نموذجين متعارضين تحت نفس الخيمة - إنه ببساطة يسمح للمستخدم بتخطي طبقة السكر النحوية لمزيد من التحكم.
لقد قلت إن الفكرة وراء القوالب فوق وظائف التصيير هي توفير "قابلية أفضل للتوافق" ، وهو مصدر قلق يتقاسمه العديد من مؤيدي WordPress الآخرين الذين يتبنون Vue.
قلت: "يمكن للمستخدمين الذين يشعرون براحة أكبر مع HTML ولديهم حالات استخدام أبسط استخدام النموذج ، بينما يمكن للمستخدمين الذين هم بالفعل على دراية بوظائف JSX / العرض الاستفادة من القوة الكاملة لـ JS". "هذا من شأنه أن يتناسب بشكل جيد مع استخدام WP core: مستخدمي المجتمع الذين يهتمون بإمكانية الوصول يسهل عليهم البدء ، بينما يتمتع الفريق الأساسي بإمكانية الوصول إلى وظائف JSX / العرض لحالات الاستخدام المتقدمة."
لقد عالجت أيضًا مشكلة طول العمر من خلال تقديم مزيد من المعلومات حول عمليات تطوير Vue. وأكد أن قاعدة الشفرة الحالية قد طورها إلى حد كبير بمفرده ، ولكن الصيانة منتشرة عبر فريق أساسي يضم أعضاء من جميع أنحاء العالم.
قلت: "المساهمون الآخرون لديهم عدد التزام أقل لأن مساهماتهم يتم تقديمها جميعًا في شكل علاقات عامة ، ونحن نستخدم ميزة" Squash and الالتزام "على GitHub بحيث ينتج عن كل علاقات عامة التزام واحد فقط للمساهم". "لقد دمجنا ما يقرب من 500 من العلاقات العامة في الريبو الأساسي وحده ، وأكثر من ذلك بكثير عبر المؤسسة. يتم أيضًا صيانة مستودعات إعادة الشراء الأخرى التابعة لمنظمة vuejs ، مثل vuex و vue-router و vuejs.org إلى حد كبير بواسطة أعضاء فريق متخصصين. "
لقد قدمت أيضًا توضيحًا حول أسئلة الاستقرار والتوافق المستقبلي ، حيث قدم المساهمون في WordPress مخاوف بشأن كسر التغييرات في لغة القوالب في Vue 2.0.
"هذا يستدعي بعض التوضيحات: إصدار Vue يتبع بدقة semver ،" قلت. "المرة الوحيدة التي تم فيها كسر تغييرات API بعد 1.0 كانت نتوء 2.0. يعتبر بناء جملة القالب جزءًا من واجهة برمجة التطبيقات ، لذا لن يتم [كسر] ، وبين مطبات الإصدار الرئيسية نلتزم بالتوافق مع واجهة برمجة التطبيقات بنسبة 100٪ مع الإصدارات السابقة. نحن نتعامل مع الاستقرار على محمل الجد ، وكذلك الحال بالنسبة لمستخدمينا في مجتمعنا وداخل الإنتاج ، بما في ذلك GitLab و Vice وبعض أكبر شركات الإنترنت في الصين ".
نظرًا لأن العديد من المساهمين الأساسيين في WordPress كانوا يطورون على رأس React لسنوات ، فإن مدخلاتك تقدم نظرة أكثر تفصيلاً وعمقًا على Vue التي طلبها المساهمون خلال جولات مختلفة من التعليقات. ستستمر المناقشة خلال الأسابيع العديدة القادمة ويخطط المساهمون لإدراج الموضوع في قمة المساهمين في WordCamp Europe.
