Anime.js
مكتبة رسوم متحركة خفيفة (Lightweight Animation Library)
Anime.js هي مكتبة JavaScript خفيفة لإنشاء رسوم متحركة بسيطة ومعقدة. تعمل على عناصر DOM, CSS properties, SVG, وJavaScript objects. تُعد بديلاً أصغر حجماً وأسهل تعلماً من GSAP مع واجهة برمجية …
Chart.js (Core)
مكتبة رسوم بيانية (Charting Library)
Chart.js هي مكتبة مفتوحة المصدر لإنشاء رسوم بيانية تفاعلية في جافاسكريبت باستخدام HTML5 Canvas. تُعد من أشهر المكتبات في هذا المجال بفضل بساطتها وحجمها الصغير (60KB) وأدائها الممتاز. تدعم مجموعة …
D3.js
مكتبة تصور البيانات (Data Visualization Library)
D3.js (Data-Driven Documents) هي مكتبة قوية جداً لإنشاء تصور بيانات تفاعلية ومعقدة باستخدام HTML, SVG, وCSS. تُعتبر المعيار الأساسي للـ data visualization في الويب وتوفر مرونة لا محدودة تقريباً في …
Date-fns
مكتبة معالجة التاريخ والوقت (Date/Time Library)
Date-fns هي مكتبة حديثة وخفيفة لمعالجة التاريخ والوقت في جافاسكريبت. توفر مجموعة كبيرة من الدوال للتعامل مع التواريخ بدون تعقيد أو تبعيات خارجية. كل دالة مستقلة بذاتها (modular) ولا تعتمد …
Day.js
مكتبة معالجة التاريخ والوقت (Date/Time Library)
Day.js هي مكتبة خفيفة جداً (2KB) لمعالجة التاريخ والوقت في جافاسكريبت، تُقدم واجهة برمجية مشابهة لمكتبة Moment.js لكن بحجم أصغر بكثير وأداء أسرع. المكتبة قابلة للتوسعة عبر نظام plugins وتُعد …
GSAP (Core)
مكتبة رسوم متحركة متقدمة (Animation Library)
GSAP (GreenSock Animation Platform) تُعتبر المعيار الذهبي للرسوم المتحركة على الويب. مكتبة JavaScript قوية لإنشاء رسوم عالية الأداء وتفاعلية تعمل على جميع المتصفحات. تُستخدم لإنشاء تجارب مستخدم سلسة ومعقدة تتجاوز …
Immutable.js
مكتبة البيانات الثابتة (Immutable Data Structures)
Immutable.js هي مكتبة من Facebook (Meta) توفر هياكل بيانات ثابتة (immutable) عالية الأداء لجافاسكريبت. بعد إنشاء هيكّل بيانات، لا يمكن تغييره – أي تعديل يُرجع هيكلاً جديداً. هذا يُزيل فئة …
Lodash
مكتبة أدوات مساعدة لجافاسكريبت (Utility Library)
Lodash هي مكتبة جافاسكريبت شعبية توفر أكثر من 300 دالة مساعدة للتعامل مع المصفوفات والأرقام والكائنات والسلاسل النصية وغيرها. تعمل المكتبة على تسهيل مهام البرمجة اليومية من خلال توفير أدوات …
Moment.js
مكتبة معالجة التاريخ والوقت (Date/Time Library) – Legacy
Moment.js كانت المكتبة الأشهر لمعالجة التاريخ والوقت في جافاسكريبت لسنوات طويلة. توفر واجهة غنية بالمميزات للتعامل مع التواريخ، التنسيقات المختلفة، التوطين (i18n)، والمناطق الزمنية. ⚠️ ملاحظة مهمة: Moment.js في وضع …
Numeral.js
مكتبة تنسيق الأرقام (Number Formatting Library)
Numeral.js هي مكتبة خفيفة لتنسيق الأرقام في جافاسكريبت. توفر صيغة تنسيق مشابهة لـ Excel و sprintf مع دعم العملات، النسب المئوية، البايت، والأرقام المعقدة. تُستخدم بشكل شائع في عرض البيانات …
Ramda
مكتبة برمجة وظيفية لجافاسكريبت (Functional Programming Library)
Ramda هي مكتبة عملية مبنية للبرمجة الوظيفية بلغة جافاسكريبت. تهدف إلى تسهيل إنشاء كود نظيف وقابل للتكوين من خلال تقديم دوال محضة (pure functions) لا تُغيّر البيانات المدخلة (immutable data). …
RxJS
مكتبة البرمجة التفاعلية/الاستجابة (Reactive Programming Library)
RxJS (Reactive Extensions for JavaScript) هي مكتبة قوية للبرمجة التفاعلية باستخدام Observables. تسمح بكتابة كود غير متزامن بطريقة declarative من خلال تدفقات البيانات (streams) وعوامل التحويل والتجميع. تُستخدم بشكل مكثف …
Three.js (Core)
مكتبة رسومات ثلاثية الأبعاد (3D Graphics Library)
Three.js هي مكتبة JavaScript لإنشاء وعرض المحتوى ثلاثي الأبعاد (3D) على الويب باستخدام WebGL. تُعد المكتبة الأكثر شعبية في مجال 3D الويب وتُستخدم لبناء تجارب غامرة، ألعاب، محاكاة، وتصورات تفاعلية. …
UUID
مكتبة توليد المعرفات الفريدة (UUID Generation)
UUID هي مكتبة صغيرة جداً (5KB) لتوليد معرفات فريدة عالمية (Universally Unique Identifiers) في جافاسكريبت. تدعم جميع إصدارات UUID بما في ذلك UUID v1 (timestamp-based)،_uuid_ v4 (random), وuuid v6/v7/v8 (الجدد). …
Zustand (JS)
مكتبة إدارة الحالة (State Management) – نسخة JavaScript العامة
Zustand هي مكتبة خفيفة الوزن لإدارة الحالة في تطبيقات JavaScript. توفر حلاً بسيطاً ومباشراً باستخدام hooks مع الحفاظ على بساطة Redux بدون boilerplate الزائد. المكتبة لا تحتاج إلى Provider wrappers …
Zustand (Store)
نمط بناء الـ Store في Zustand (Store Pattern)
Zustand Store هو نمط تنظيم الـ state في Zustand بطريقة مقسمة إلى slices (أقسام) لكل مجال من مجالات التطبيق. هذا النمط يُسهل تنظيم الكود في تطبيقات كبيرة من خلال فصل …