أقدر المرونة في توفر واجهة برمجة تطبيقات المكونات الكاملة. تعجبني بنية مكونات Glimmer بشكل عام، وأرى لماذا قد يكون لها فوائد في تقليل التعقيد داخل قاعدة التعليمات البرمجية.
ومع ذلك، بالنسبة لحالات الاستخدام الأساسية (أريد إضافة زر وإعطائه أيقونة)، كانت طرق واجهة برمجة التطبيقات القديمة أكثر إيجازًا وسهولة في الفهم بشكل موضوعي (أقل استيرادًا، عمليات أقل، بصمة واجهة برمجة تطبيقات أقل مكشوفة). هل هناك أي سبب لعدم استمرار دعم طرق واجهة برمجة التطبيقات القديمة؟ أتخيل أنه إذا استخدمتها كدوال مساعدة وقمت بتنفيذ التنفيذ الأساسي باستخدام مكون Glimmer الجديد الخاص بك، فيمكن لطريقة واجهة برمجة التطبيقات أيضًا إجراء فحص توافق الإصدار.
سيكون هذا أقل تعطيلًا بكثير لأي شخص يستخدم هذه الطرق، وسيؤدي إلى انفجار أقل في التعليمات البرمجية للمنطق الشرطي داخل نظام المكونات الإضافية.
شكواي الرئيسية بشأن الأدوات المصغرة الحالية هي افتقارها إلى التوثيق. هذه المشاركة، التي تعلن عن إزالتها، هي واحدة من أوضح المستندات التي رأيتها والتي تشير إلى وجود هذه الطرق المحددة وكيفية استخدامها. لقد جئت إلى هنا في الواقع، محاولًا معرفة كيفية استخدام واجهة برمجة التطبيقات القديمة.
أحب أن يتم تسجيل المحولات في مكان واحد، بواسطة ثوابت السلسلة النصية. أعتقد أن هذا يجعل مهمة التوثيق (وتطوير المكونات الإضافية) أسهل بكثير.
مع الأدوات المصغرة، يبدو أنها كلها مسجلة بواسطة طريقة createWidget، والتي بدورها تستدعي createWidgetFrom. المشكلة التي أراها في هذا هي أن _السجل هو متغير عام على نطاق الملف محمي بواسطة واجهة برمجة تطبيقات، ولا تسمح واجهة برمجة التطبيقات بأي تكرار. إذا كان بإمكاننا الحصول على دالة تكرار لسجل الأدوات المصغرة، فيمكننا اكتشاف الأدوات المصغرة المسجلة حاليًا في الوقت الفعلي. يجب توثيقها “تشغيل هذا السطر من جافاسكريبت في وحدة تحكم المتصفح الخاص بك لاستدعاء واجهة برمجة التطبيقات وسرد السجل”. عندها يمكننا الحصول على فائدة مشابهة جدًا لما يوفره سجل المحولات.
شيء آخر من شأنه أن يساعد في تطوير المكونات الإضافية هو رؤية سمة على أي عنصر DOM جذري يتم عرضه بواسطة مكون/أداة مصغرة تخبرك ما هو المكون/الأداة المصغرة التي تنظر إليها. مثل “data-widget=foo” يمكن أن تكون هذه ميزة تصحيح أخطاء، أو يمكن تمكينها افتراضيًا. إنها مفتوحة المصدر، لذا لا يبدو أنك تحقق الأمان من خلال الغموض.
أحتفي بالتحول نحو مكونات Glimmer. لكن هذا سيستغرق وقتًا، وهناك الكثير من الأدوات المصغرة التي يحتاج الناس إلى العمل معها في هذه الأثناء. لذلك أعتقد أن تحسين رؤية الأدوات المصغرة كما هو مذكور أعلاه من شأنه أن يجعل فترة الانتقال أسهل للجميع.
بالنسبة لطرق واجهة برمجة التطبيقات تلك… يبدو أن شخصًا ما بذل جهدًا لإضافة تعليقات مفصلة إلى واجهة برمجة تطبيقات جافاسكريبت، ولكن لم يتم إنشاء أي موقع توثيق لها على الإطلاق. لماذا لا؟
سأكون سعيدًا بتقديم طلب سحب للتكرار عبر سجل الأدوات المصغرة، إذا كان ذلك مقبولًا.