عن المشروع
Diffuse هو مشغل موسيقى يتصل بالتخزين السحابي والموزع. وهو مبني كمجموعة من عناصر DOM المخصصة المستقلة عن الأطر (مكونات ويب) التي تتيح للمطورين تجميع مشغل صوتي، ومعالجة وتصفح البيانات الوصفية الصوتية، وسرد ملفات الصوت والتدفقات من مصادر وواجهات برمجة تطبيقات وخوادم متنوعة، وتحديد كيفية حفظ بيانات المستخدم أو مزامنتها.
الأجزاء الرئيسية من المشروع:
- العناصر المخصصة: مكونات ويب قابلة لإعادة الاستخدام لبناء المشغلات ومعالجة البيانات الوصفية وسرد المصادر واستمرارية بيانات المستخدم.
- محمّل HTML: يحمّل "الواجهات" من ذاكرة التخزين المؤقت المحلية لبيانات المستخدم، أو مجموعة Diffuse الافتراضية، أو عناوين URL عبر HTTP(S)، أو معرّفات URI الخاصة بـ AT Protocol. تتلقى الواجهات "ميزات" اختيارية تسمى facets، يتم تحميلها أيضًا من الذاكرة المؤقتة المحلية.
- الأساس: تكوين افتراضي للعناصر المخصصة المستخدمة عبر facets الافتراضية. يمكن للعناصر التواصل عبر علامات التبويب والإطارات عبر سمة `group`.
- المعجمات: مخططات بيانات على شكل معجمات atproto، مخزنة في دليل `lexicons`.
الهدف هو برمجيات تعاونية وقابلة للتشكيل. مزيد من التفاصيل على موقع المشروع.
استخدام المطورين: يمكن استهلاك المكتبة إما عبر النسخة المنشورة (تربط العناصر بملفات JavaScript) أو عبر حزمة JavaScript على JSR. تُستخدم العناصر المخصصة مثل أي عنصر DOM آخر، سواء في HTML أو عبر إنشاء نسخة من فئة. يوضح مثال تحميل عنصر محرك قائمة الانتظار عبر وسم script أو استيراده وإضافته إلى جسم المستند مع سمة `group`.
يتطلب البناء من المصدر Deno. تشمل الأوامر توليد تعريفات الأنواع والبناء والتقديم. تشمل الحزمة التقنية Deno ومكونات الويب وعمال الويب (العمال المشتركون وعمال الخدمة) والإشارات (حاليًا alien-signals، مع أمل في اقتراح TC39) وlit-html وmusic-metadata وLume وESBuild.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.