عن المشروع
QimenJS هي مكتبة بنية تحتية معيارية بلغة TypeScript، اسمها مأخوذ من "Qi Men Dun Jia" — نظام فنون قتالية قديم لترتيب القوات. تبني بنية واجهة أمامية مرنة من خلال تركيب القدرات (Ability) وخطوط البيانات (Pipeline)، وتوفر نظام أحداث وخطوط بيانات وإدارة كيانات وتدويل وعميل HTTP ضمن 38 حزمة فرعية مستقلة تغطي من الطبقة الأساسية إلى طبقة واجهة المستخدم.
الإصدار الحالي هو 0.2.0، في مرحلة التطوير الأولية، واجهات برمجة التطبيقات الأساسية وطبقة مكونات واجهة المستخدم متاحة بالفعل، وسير عمل الإطار يعمل، لكن واجهات برمجة التطبيقات قد تتغير في الإصدارات اللاحقة.
قائمة الحزم منظمة حسب الطبقات:
- **الطبقة الأساسية (Layer 0)**: تشمل نظام أخطاء موحد، نظام سجلات، أدوات مساعدة عامة، أدوات غير متزامنة، كشف بيئة التشغيل، التجزئة والترميز وفك الترميز، التدويل، سياق الطلب/الحدث، أنواع أساسية مشتركة بين الحزم.
- **الطبقة الجوهرية (Layer 1)**: تشمل السجلات، ناقل الأحداث، إدارة التخزين المؤقت، خطوط البيانات، تركيب القدرات، جدولة المهام.
- **طبقة البيانات (Layer 2)**: تشمل إطار معالجات البيانات، محرك التحقق، محول أحداث DOM (التعرف على 8 أنواع من الإيماءات)، تحليل أنواع MIME، مسجل أنماط التعبيرات النمطية المسماة، تعريفات Schema، نظام الصلاحيات.
- **طبقة الخدمات (Layer 3)**: تشمل عميل HTTP (خط أنابيب من 4 مراحل + اعتراضات + بث SSE)، مصادقة OAuth2 (أنماط كلمة المرور/رمز التفويض/بيانات اعتماد العميل + تحديث تلقائي عند 401)، معالج بيانات إطار ABP، معالج بيانات Spring Data، مجموعة قدرات النظام.
- **طبقة التطبيق (Layer 4)**: تشمل إطار إدارة الكيانات (5 أنواع من Manager + بنية تركيب Ability)، نظام التوجيه (نمط أحداث خالص + قدرة مكون RouteAbility).
- **طبقة واجهة المستخدم**: تشمل البنية التحتية الأساسية للمكونات، تعريفات قدرات مكونات واجهة المستخدم، تنفيذات مكونات واجهة المستخدم (Icon/Button/Toggle/Tabs/Card/Menu/Nav/Panel وغيرها)، مكونات واجهة مستخدم متقدمة (Step/Timeline/Rating/PropertyGrid/OneTimePassword وغيرها)، نظام تعريف التخطيط المدفوع بـ JSON، موارد السمات (فاتح/داكن + 10 إعدادات مسبقة بأسلوب صيني + تخصيص المستخدم)، مكتبة أيقونات بأسلوب صيني (102 SVG + أيقونات خطية)، واجهة برمجة تطبيقات أمرية (toast/msgbox).
تشمل الخصائص المعمارية التصميم الطبقي (اتجاه اعتماد أحادي، دون مراجع عبر الطبقات)، تركيب القدرات (مديرو الكيانات يجمعون القدرات ديناميكيًا عبر AbilityDefinition)، المعالجة بخطوط الأنابيب (طلبات/استجابات البيانات تمر عبر خط معالجات قابل للتوصيل، ABP/Spring جاهزان للاستخدام فورًا)، التكيف البيئي (الحزم الجوهرية مستقلة عن البيئة، تعمل في المتصفح وNode.js)، أمان الأنواع (تعريفات TypeScript كاملة).
دليل الأمثلة `examples/full-stack/` يحتوي على عرض توضيحي كامل المكدس يغطي مصادقة OAuth2، إدارة مستخدمي ABP API، إدارة طلبات Spring Data، صفحات عرض وظائف 36 حزمة فرعية من QimenJS، التدويل (ترجمة i18n مسبقة + تبديل لغة ديناميكي).
تشمل الوثائق شرح البنية، شرح الحزم، أفضل الممارسات، مرجع واجهات برمجة التطبيقات. تشمل أوامر التطوير تثبيت الاعتماديات، البناء، تشغيل الاختبارات، فحص الكود، توليد وثائق واجهات برمجة التطبيقات. تتبع أرقام الإصدارات مواصفات SemVer، و0.x.x تشير إلى مرحلة التطوير الأولية.
هذا المشروع مطور بمساعدة الذكاء الاصطناعي، ومعظم الكود مولّد بالذكاء الاصطناعي، مع الشكر لمساهمات أدوات مثل Huawei CodeArts وTrae CN وChatGPT وDeepSeek وGemini وTongyi Qianwen وFitEncode. الترخيص هو MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.