مكتبة جافا سكريبت

مكتبة جافا سكريبت هي مكتبة تحتوي على أكواد جافا سكريبت جاهزة ، تُسهّل تطوير التطبيقات القائمة على جافا سكريبت، [ 1 ] وخاصةً لتقنية AJAX وغيرها من التقنيات التي تركز على الويب . [ 2 ] ويمكن تضمينها في موقع ويب عن طريق إدراجها مباشرةً في صفحة HTML باستخدام وسم <script>.

المكتبات

مع تزايد الطلب على جافا سكريبت ، برزت الحاجة إلى وسيلة أسهل للمبرمجين لتطوير واجهات ديناميكية. [ 3 ] [ 4 ] وهكذا، تم تطوير مكتبات جافا سكريبت ومكتبات عناصر واجهة المستخدم (Widgets) الخاصة بها، مما أتاح للمطورين التركيز بشكل أكبر على تطبيقات Ajax المتميزة . [ 5 ] وقد دفع هذا شركات ومجموعات أخرى، مثل مايكروسوفت وياهو إلى تطوير مكتبات واجهات مستخدم خاصة بها تعتمد على جافا سكريبت، والتي تجد طريقها إلى تطبيقات الويب التي تطورها هذه الشركات. [ 6 ] تتيح بعض مكتبات جافا سكريبت دمج جافا سكريبت بسهولة أكبر مع تقنيات تطوير الويب الأخرى، مثل CSS و PHP و Ruby و Java ، بينما توفر مكتبات أخرى أدوات مساعدة، غالبًا في شكل دوال جافا سكريبت ، لتسهيل المهام المتكررة والمعقدة. [ 7 ] [ 8 ] تتضمن العديد من المكتبات شيفرة برمجية لاكتشاف الاختلافات بين بيئات التشغيل، مما يُغني التطبيقات عن مراعاة هذه التناقضات.

تُصدر جميع مكتبات جافا سكريبت تقريبًا بموجب ترخيص متساهل أو ترخيص حقوق النشر المفتوحة لضمان التوزيع والاستخدام والتعديل بدون ترخيص. [ 9 ]

الأطر

تُصنّف بعض مكتبات جافا سكريبت، مثل أنجولار ، كأطر عمل لأنها تُظهر قدرات وخصائص شاملة غير موجودة في مكتبات جافا سكريبت العامة. [ 10 ] [ 11 ]

القدرات والمفاضلات في الأطر الحديثة

توفر أطر عمل تطبيقات الويب القائمة على جافا سكريبت، مثل React و Vue ، إمكانيات واسعة، ولكنها تأتي مصحوبة ببعض التنازلات. غالبًا ما تُوسّع هذه الأطر أو تُحسّن الميزات المتاحة من خلال تقنيات الويب الأصلية، مثل التوجيه ، والتطوير القائم على المكونات ، وإدارة الحالة . على الرغم من التطور الكبير الذي شهدته معايير الويب الأصلية، بما في ذلك مكونات الويب، وواجهات برمجة تطبيقات جافا سكريبت الحديثة مثل Fetch ووحدات ES، وإمكانيات المتصفح مثل Shadow DOM ، إلا أن أطر العمل لا تزال تُستخدم على نطاق واسع لقدرتها على تعزيز إنتاجية المطورين، وتوفير أنماط مُهيكلة للتطبيقات واسعة النطاق، وتبسيط التعامل مع الحالات الشاذة، وتوفير أدوات لتحسين الأداء. [ 12 ] [ 13 ] [ 14 ]

قد تُضيف الأطر البرمجية طبقات تجريدية تُساهم في زيادة الحمل على الأداء، وحجم الحزم، والتعقيد. تعالج الأطر البرمجية الحديثة، مثل React 18 وVue 3، هذه التحديات بميزات مثل العرض المتزامن، وتقنية تقليل حجم الملفات، والترطيب الانتقائي. ورغم أن هذه التطورات تُحسّن كفاءة العرض وإدارة الموارد، إلا أن فوائدها تعتمد على التطبيق المحدد وسياق التنفيذ.

تتبنى الأطر البرمجية الخفيفة ، مثل Svelte وPreact، مناهج معمارية مختلفة؛ إذ تستغني Svelte تمامًا عن DOM الافتراضي لصالح ترجمة المكونات إلى كود JavaScript فعال، بينما تقدم Preact بديلاً بسيطًا ومتوافقًا مع React. يعتمد اختيار الإطار البرمجي على متطلبات التطبيق، بما في ذلك خبرة الفريق، وأهداف الأداء، وأولويات التطوير. [ 12 ] [ 13 ] [ 14 ]

تستفيد فئة جديدة من أطر عمل الويب، بما في ذلك enhance.dev وAstro [ 15 ] وFresh، من معايير الويب الأصلية مع تقليل التجريدات وأدوات التطوير. [ 16 ] [ 17 ] [ 18 ] تركز هذه الحلول على التحسين التدريجي ، والعرض من جانب الخادم ، وتحسين الأداء. يعرض Astro صفحات HTML ثابتة افتراضيًا مع تحديث الأجزاء التفاعلية فقط. يركز Fresh على العرض من جانب الخادم دون أي تكلفة إضافية أثناء التشغيل. يعطي Enhance.dev الأولوية لأنماط التحسين التدريجي باستخدام مكونات الويب. على الرغم من أن هذه الأدوات تقلل الاعتماد على جافا سكريبت من جانب العميل عن طريق نقل المنطق إلى وقت الإنشاء أو التنفيذ من جانب الخادم، إلا أنها لا تزال تستخدم جافا سكريبت عند الضرورة للتفاعل. هذا النهج يجعلها مناسبة بشكل خاص للتطبيقات الحساسة للأداء والتي تركز على المحتوى. [ 12 ] [ 13 ] [ 14 ]

الطرود

جميع حزم npm هي مكتبات جافا سكريبت، ولكن ليست كل المكتبات حزمًا. يعمل npm كمدير حزم للحزم المستخدمة في بيئات تشغيل Node.js. [ 19 ] [ 20 ] ومع ذلك، توفر بعض حزم npm دعمًا لشبكات توصيل المحتوى (CDN) لاستخدام المكتبة في كلٍ من بيئات تشغيل Node.js والمتصفح. [ 21 ]

انظر أيضاً

مراجع

  1. ديفيد سوير ماكفارلاند (2014). جافا سكريبت وجي كويري: الدليل المفقود . دار نشر أورايلي ميديا . ص  106. ISBN 9781491948620.
  2. "ما هي مكتبة جافا سكريبت؟" . أكاديمية خان . تم الاطلاع عليه بتاريخ 15 يناير 2018 .
  3. بيترز، سيم (2019-04-08). "تاريخ موجز لجافا سكريبت: من نتسكيب إلى الأطر البرمجية" . ميديوم . تم الاسترجاع في 2022-03-15 .
  4. AsyncBanana (2021-04-21). "تاريخ موجز للغة جافا سكريبت وتطورها" . Medium . تم الاطلاع عليه بتاريخ 15-03-2022 .
  5. آندي هاريس (2009). جافا سكريبت وأجاكس للمبتدئين . وايلي . ص 240. ISBN  9780470417997.
  6. جيك روتر (2011). تحطيم جيه كويري . وايلي . ص 21. ISBN  9780470977361.
  7. والش، ديفيد (5 سبتمبر 2007). "6 أسباب لاستخدام مكتبات وأطر عمل جافا سكريبت" . مدونة ديفيد والش . تم الاطلاع عليه بتاريخ 15 مارس 2022 .
  8. "40 حزمة NPM مفيدة لتطبيقات Node.js في عام 2021" . leanylabs.com . تم الاطلاع عليه بتاريخ 15 مارس 2022 .
  9. شيلي باورز (2010). كتاب طبخ جافا سكريبت . دار نشر أورايلي ميديا . الصفحات 389-412 . رقم ISBN  9781449395926.
  10. "الفرق بين إطار العمل والمكتبة" . freeCodeCamp.org . 2019-02-01 . تم الاطلاع عليه بتاريخ 2022-03-15 .
  11. "ما الفرق بين المكتبة والإطار؟" . مجتمع المطورين . تم الاطلاع عليه بتاريخ 15 مارس 2022 .
  12. 1 2 3 أطر عمل جافا سكريبت لتطوير الويب الحديث: الأطر والمكتبات والأدوات الأساسية التي يجب تعلمها الآن . ISBN 978-1484249949.
  13. 1 2 3 بناء مكونات الويب الأصلية: تطوير الواجهة الأمامية باستخدام Polymer و Vue.js. ISBN 978-1484259047.
  14. ١ ٢ ٣ تطبيقات عملية عالية الأداء في جافا سكريبت: بناء تطبيقات ويب أسرع باستخدام Node.js وSvelte.js وWebAssembly . ISBN 978-1838821098.
  15. "إطار عمل الويب القائم على جافا سكريبت Astro" .
  16. "تحسين" . GitHub .
  17. "إطار عمل Astro" . GitHub .
  18. "جديد" . GitHub .
  19. "تعريف واضح لـ npm ووظيفته" . CSS-Tricks . 2022-01-20 . تاريخ الاسترجاع: 2022-03-15 .
  20. "Node.js NPM" . www.w3schools.com . تم الاطلاع عليه بتاريخ 15 مارس 2022 .
  21. غروسيل، أليساندرو (12 نوفمبر 2019). "معضلة توزيع مكتبات جافا سكريبت، NPM أم URL؟" . مدونة THRON التقنية . تاريخ الاسترجاع: 15 مارس 2022 .