اختيار مكتبة JavaScript أو إطار عمل

تشارك هذه المقالة رؤى حول كيفية اختيار مكتبة أو إطار عمل لاستخدامه داخل تطبيق الويب. ستساعدك المناقشات هنا على الموازنة بين إيجابيات وسلبيات العثور على مكتبة أو إطار عمل JavaScript المناسب لمشكلة العمل التي تحاول حلها. إنّ فهم الإيجابيات والسلبيات التي تنطبق في المواقف المختلفة هو عامل أساسي لفحص العدد الكبير من خيارات مكتبة JavaScript المتاحة.

ما هي مكتبات وأطر عمل JavaScript؟

ما هي مكتبة JavaScript؟ في أبسط صورها، تكون مكتبة JavaScript عبارة عن رمز برمجي مكتوب مسبقًا يمكنك استدعاءه في رمز مشروعك لتنفيذ مهمة محدّدة.

تشير هذه المشاركة بشكل أساسي إلى "المكتبات". ومع ذلك، تنطبق العديد من المناقشات على أطر العمل. في الأساس، يمكن تلخيص الفرق بين الاثنين على النحو التالي:

  • بالنسبة إلى المكتبة، يستدعي رمز التطبيق رمز المكتبة.
  • بالنسبة لإطار العمل، يتم استدعاء رمز التطبيق الخاص بك من خلال إطار العمل.

تساعد الأمثلة العملية التالية في توضيح الاختلافات.

مثال على استدعاء لمكتبة JavaScript

وتتولى مكتبة JavaScript تنفيذ مهمة محددة ثم إرجاع عنصر التحكم إلى تطبيقك. عند استخدام المكتبة، يمكنك التحكّم في مسار التطبيق واختيار وقت طلب المكتبة.

في المثال التالي، يستورد رمز التطبيق طريقة من مكتبة lodash. بعد اكتمال الدالة، يتم إرجاع التحكم إلى التطبيق.

import capitalize from 'lodash.capitalize';
capitalize('hello'); // Hello

عند تنفيذ الطريقة lodash.capitalize، يتم استدعاء رمز JavaScript مكتوب مسبقًا ويستخدم الحرف الأول من السلسلة بأحرف كبيرة.

مثال على استخدام إطار عمل JavaScript

إطار عمل JavaScript هو نموذج رمز برمجي محدَّد مسبقًا يمكنك من خلاله إنشاء سلوك تطبيقك. أي، عند استخدام إطار عمل، يتحكم إطار العمل في تدفق التطبيق. لاستخدام إطار عمل، عليك كتابة رمز تطبيقك المخصّص، ثم يستدعي إطار العمل رمز تطبيقك.

يوضّح المثال التالي مقتطف رمز يستخدم إطار عمل JavaScript Preact:

import { createElement } from 'preact';

export default function App() {
  return (
    <p class="big">Hello World!</p>
  )
}

في المثال، لاحظ أن إطار العمل لديه قدر أكبر من التحكم في التعليمة البرمجية التي تكتبها، وفي بعض الحالات، يتحكم إطار العمل في وقت تنفيذ التعليمة البرمجية.

ما هي أهمية استخدام المكتبة؟

يمكن أن يساعد استخدام مكتبة JavaScript في تجنُّب التكرار غير الضروري للرمز. تستطيع المكتبات التخلص من المنطق المعقد، مثل التلاعب بالتواريخ أو الحسابات المالية. يمكن أن تساعدك المكتبة أيضًا في عرض منتجك الأولي، بدلاً من الاضطرار إلى كتابة كل الرموز البرمجية من البداية، وهو ما قد يستغرق بعض الوقت.

تساعد بعض مكتبات JavaScript من جهة العميل في التخلّص من مزايا النظام الأساسي للويب. يمكن أن تكون المكتبة أداة تعليمية. على سبيل المثال، إذا لم تكن معتادًا على دوال تخفيف الرسوم المتحركة، يمكن أن يوضِّح لك رمز المصدر لأي مكتبة طريقة عمل هذه التخفيفات.

بعض المكتبات مدعومة من شركات كبيرة تستثمر الوقت والمال في إبقاء المكتبات محدَّثة وآمنة. تصاحب العديد من المكتبات وثائق شاملة، والتي تقدم لك ولفريقك طريقة سريعة للتعرف على استخدام المكتبة.

يساعد استخدام مكتبة JavaScript في توفير الوقت.

ما أهمية استخدام المكتبة؟

من الناحية الفنية، يمكنك تطوير تطبيق الويب من البداية، ولكن لماذا تذهب إلى المشكلة عندما يمكنك استخدام برنامج مجاني (مفتوح المصدر)، أو شراء حل يمكن أن يوفر على المدى الطويل الوقت والمال؟ وهناك عدد كبير من مكتبات وأُطر JavaScript المتاحة، ولكل منها منهجًا فريدًا لحل المشكلات ولكل منها خصائص مختلفة. مثال:

  • يمكن كتابة المكتبة وصيانتها داخليًا بدلاً من جهة خارجية.
  • يمكن أن يكون للمكتبة تراخيص قانونية محدّدة تجعلها مناسبة أو غير مناسبة لتطبيق الويب الخاص بك.
  • قد تكون المكتبة قديمة أو غير خاضعة للصيانة.
  • يمكن للمكتبة تبسيط مجموعة من المهام المعقدة وتوفير الكثير من الوقت والمال.
  • يمكن استخدام المكتبة على نطاق واسع في المجتمع، ويمكن أن تكون معروفة جيدًا بين المطورين.

كما قد تشك، يمكن للخصائص المختلفة أن تؤثر على تطبيق الويب الخاص بك بطرق مختلفة. ففي بعض الأحيان، لا يكون القرار بهذا المستوى من الدقة، بل يمكنك استبدال أي مكتبة بأمان إذا لم تعجبك. ومع ذلك، قد يكون للمكتبة في بعض الأحيان تأثير كبير على عملك وتطبيق الويب الخاص بك، مما يشير إلى ضرورة اتباع نهج أكثر استنارة.

هناك بعض بيئات JavaScript غير من جهة العميل، كبيئات الخادم (التي يتم تشغيلها في بيئة سحابية) أو على Raspberry Pi، حيث قد تحتاج إلى تعديل المعايير التي تستخدمها لفحص المكتبات وأُطر العمل.

عروض أداء

ويجب عدم تجاهل تأثير الأداء لمكتبة JavaScript في تطبيق ويب من جهة العميل. يمكن أن تؤدي مكتبة JavaScript كبيرة إلى حدوث مشاكل في أداء تحميل صفحتك، ولكن تذكّر أنّ المللي ثانية تُنتج الملايين.

فكِّر في سيناريو تستخدم فيه مكتبة JavaScript للصور المتحركة. يمكن لبعض المكتبات إضافة عشرات الكيلوبايت بسهولة، وقد تضيف حتى مئات الكيلوبايت في بعض الحالات. قد تضيف موارد JavaScript كهذه تأخيرًا كبيرًا في تحميل الصفحة، لأنّ المتصفّح يحتاج إلى تنزيل الرمز وتحليله وتجميعه وتنفيذه.

وكلما زاد حجم مكتبة JavaScript، زاد تأثير الأداء في المستخدمين.

عند تقييم أو استخدام مكتبة JavaScript أو إطار عمل، يُرجى مراعاة الاقتراحات التالية لتحسين الأداء:

  • وبما أنّ مكتبة JavaScript كبيرة، يمكنك استخدام بديل أصغر. على سبيل المثال، تقدِّم الدالة date-fns الكثير من الوظائف بحجم معقول أكثر من بعض الخيارات الأخرى.
  • بناءً على مثال fns السابق، يمكنك استيراد الدوال التي تحتاج إليها فقط، مثل import { format } from 'date-fns'. تأكَّد من دمج هذا الأسلوب مع اهتزاز الشجرة، بحيث يتم إنشاء الحد الأدنى من حمولة JavaScript وإرساله إلى المستخدمين.
  • استعِن بأدوات اختبار الأداء، مثل Lighthouse، لتتبُّع تأثير الأداء الناتج عن استخدام مكتبة JavaScript معيّنة. إذا أضافت أي مكتبة تأخيرًا لمدة ثانية واحدة إلى وقت تحميل الصفحة (لا تنسَ تقييد الشبكة ووحدة المعالجة المركزية (CPU) أثناء الاختبار)، قد تحتاج إلى إعادة تقييم مكتبتك التي تختارها. بالإضافة إلى فحص تحميل الصفحة، تأكد من تصنيف أي سلوك في صفحة الويب يستدعي رمزًا من المكتبة المعنية، لأنّ أداء تحميل الصفحة لا يوضّح القصة كاملةً.
  • إذا رحب مؤلف المكتبة بالتعليقات، فقم بإرسال ملاحظات الأداء والاقتراحات وحتى المساهمات في المشروع. هذا هو المكان الذي يتألق فيه مجتمع البرامج مفتوحة المصدر! إذا قرّرت تقديم مساهمة، قد تحتاج إلى التواصل مع صاحب العمل أولاً.
  • استخدم أداة مبرمَجة لتتبُّع الحِزم، مثل bundlesize، لمراقبة التحديثات الكبيرة غير المتوقّعة في إحدى المكتبات. من الشائع أن تتزايد مكتبة JavaScript بمرور الوقت. يمكن أن تضيف إضافات الميزات وإصلاحات الأخطاء والحالات الهامشية وغيرها إلى حجم ملف المكتبة. بمجرد موافقتك أنت أو فريقك على استخدام المكتبة، قد لا يكون تحديث المكتبة مشكلة كبيرة وقد يطرح أسئلة قليلة أو لا. من المفيد هنا الاعتماد على الأساليب المبرمَجة.
  • اطّلِع على متطلباتك لإحدى المكتبات وقيِّم ما إذا كانت منصة الويب توفّر الوظائف نفسها بشكل طبيعي أم لا. على سبيل المثال، توفّر منصّة الويب حاليًا أداة اختيار الألوان، ما يغنيك عن استخدام مكتبة JavaScript تابعة لجهة خارجية لتنفيذ الوظيفة نفسها.

الأمان

ينطوي استخدام وحدة تابعة لجهة خارجية على بعض المخاطر الأمنية الكامنة. يمكن أن تتسبب الحزمة الضارة داخل قاعدة رموز تطبيق الويب في اختراق أمان فريق التطوير والمستخدمين لديك.

ننصحك بإدراج مكتبة منشورة في منظومة NPM المتكاملة. قد تكون هذه الحزمة مشروعة. ومع ذلك، بمرور الوقت، يمكن أن تتعرض الحزمة للخطر.

في ما يلي بعض نصائح الأمان التي يجب مراعاتها عند استخدام أو تقييم رمز برمجي تابع لجهة خارجية:

  • إذا كنت تستخدم GitHub، ننصحك بالتفكير في مزايا الأمان التي يوفّرها الرمز، مثل Credentialabot. أو يمكنك استخدام خدمات بديلة تفحص الثغرات في الرموز البرمجية، مثل snyk.io.
  • ننصحك باستخدام خدمات تدقيق الرموز، وهي فريق من المهندسين الذين يمكنهم تدقيق الرمز التابع لجهة خارجية الذي تستخدمه يدويًا.
  • عليك تقييم ما إذا كان يجب قفل التبعيات لديك بإصدار معيّن، أو تطبيق رمزك التابع لجهة خارجية ضمن التحكم في الإصدار. يمكن أن يساعد ذلك في قفل تبعيتك لإصدار واحد معين - من المفترض أن يُعتبَر آمنًا. ومن المفارقات أنّ هذا الإجراء قد يكون له أثر مضاد على مستوى الأمان، لأنّك قد تفقد إمكانية الحصول على تحديثات مهمة يتم إجراؤها على المكتبة.
  • افحص الصفحة الرئيسية للمشروع أو صفحة GitHub، إن توفّرت. تحقَّق مما إذا كانت هناك مشاكل أمان عالقة، وما إذا كان قد تم حلّ مشاكل الأمان السابقة في غضون فترة زمنية معقولة.
  • إنّ الرمز البرمجي التابع لجهة خارجية الذي يستخدم رمزًا برمجيًا آخر تابع لجهة خارجية قد يحمل مخاطر أكبر مقارنةً بالمكتبة التي لا تتضمّن أي تبعيات. انتبه لهذا الخطر.

تسهيل الاستخدام

قد تتساءل عن كيفية ارتباط مكتبات البرامج بإمكانية الوصول إلى الويب. وعلى الرغم من إمكانية استخدام مكتبة البرامج في بيئات مختلفة، فإنّ تسهيل استخدام الويب تحظى بأهمية كبيرة في سياق المكتبة المستندة إلى JavaScript من جهة العميل.

يمكن للمكتبة المستندة إلى JavaScript من جهة العميل (أو إطار العمل، لهذا الغرض) أن تزيد أو تقلل من إمكانية الوصول إلى موقعك الإلكتروني. استخدام مكتبة JavaScript تابعة لجهة خارجية تضيف شريط تمرير صورة إلى الصفحة إذا كان شريط تمرير الصور لا يأخذ في الاعتبار إمكانية الوصول إلى الويب، فقد يغفل مطور الويب هذه الميزة المهمة، وتطرح منتجًا لا يضم ميزات أساسية، مثل أن يكون شريط التمرير قابلاً للتنقُّل في لوحة المفاتيح!

  • هل يدعم المكوِّن الإضافي لأسلوب الخط سريع الاستجابة المستخدمين الذين يقومون بتكبير الصفحة أو تصغيرها؟
  • هل يتيح المكوّن الإضافي لأداة تحميل الملفات إمكانية تحميل الملفات من أجهزة مساعِدة؟
  • هل توفّر مكتبة الصور المتحركة دعمًا للمستخدمين الذين يفضّلون الحركة المخفّضة؟
  • هل يدعم المكوِّن الإضافي للخرائط التفاعلية استخدام لوحة المفاتيح فقط؟
  • هل توفر مكتبة مشغّل الصوت تجربة مناسبة مع برامج قراءة الشاشة؟

من المعقول توقُّع أن تكون بحاجة إلى مستوى معيَّن من المشاركة منك، بصفتك مطوِّر البرامج على الويب، لاستيفاء متطلبات تسهيل الاستخدام هذه. مثال:

  • بالنسبة إلى أي ميزات غير متوفّرة، يمكنك تنفيذ هذه الميزات ضمن قاعدة الرموز، حتى مع مواصلة استخدام المكتبة المعنيّة.
  • وبدعم من صاحب العمل، يمكنك المساهمة بهذه الميزة المفقودة إلى المكتبة، إذا كان مؤلف المكتبة يسمح بهذه المساهمة.
  • يمكنك فتح حوار مع مؤلف المكتبة. على سبيل المثال، هل ميزات إمكانية الوصول المحددة هذه في خارطة الطريق لديك؟ هل توافق على أنّهم ينتمون إلى المكتبة؟
  • بالنسبة لحالات الاستخدام الشائعة، يمكنك استكشاف خيارات المكتبة البديلة التي يسهل الوصول إليها؛ قد تكون موجودة ولكن يصعب العثور عليها.
  • في الحالة القصوى، قد تحتاج إلى إيقاف المكتبة بالكامل وتطبيق ميزاتك من البداية. قد يحدث هذا إذا كانت تجربة إمكانية الوصول متدنّية عند الاستخدام الأولي للمكتبة أو إطار العمل، وكنت بحاجة إلى التراجع عن الكثير مما من المفترض أن توفِّره المكتبة أو إطار العمل مجانًا.

المؤتمرات

من الأسهل استخدام مكتبة البرامج التي تستخدم اصطلاحات الترميز الراسخة. إذا كانت المكتبة تستخدم اصطلاح برمجة لم يتم سماعه، فقد يكون من الصعب عليك وعلى فريقك العمل مع مثل هذه المكتبة.

إذا كانت المكتبة لا تتبع اصطلاحات البرمجة الشائعة (على سبيل المثال، دليل النمط الشائع)، فلن يكون هناك ما يمكنك القيام به كحل فوري. ومع ذلك، لا تزال هناك بعض الخيارات:

  • احرص على التفريق بين رمز مصدر المكتبة وواجهة برمجة التطبيقات المعروضة لك بصفتك مستخدم المكتبة. على الرغم من أن رمز المصدر الداخلي قد يستخدم اصطلاحات غير مألوفة، فإذا كانت واجهة برمجة التطبيقات (جزء المكتبة التي تتفاعل معها) تستخدم اصطلاحات مألوفة، فليس هناك ما يدعو للقلق.
  • إذا كانت واجهة برمجة تطبيقات المكتبة لا تتبع اصطلاحات الترميز الشائعة، يمكنك استخدام نمط تصميم JavaScript، مثل نمط الخادم الوكيل، للالتفاف وتضمين جميع التفاعلات مع المكتبة في ملف واحد في قاعدة الترميز. ويمكن للخادم الوكيل تقديم واجهة برمجة تطبيقات أكثر سهولة لأجزاء أخرى من الرمز داخل قاعدة الرموز.

تلعب الاصطلاحات دورًا كبيرًا مع سهولة الاستخدام. فالمكتبة التي تتضمّن واجهة برمجة تطبيقات سهلة الاستخدام يمكن أن توفّر ساعات عديدة من ساعات المستخدمين أو حتى أيام، وذلك مقارنةً بواجهة برمجة تطبيقات غير بديهية تحتاج إلى الكثير من التجارب لاكتشافها.

التحديثات

على سبيل المثال، نادرًا ما تحتاج هذه المكتبة إلى تحديثات إذا كانت مكتبة تعمل بالكامل لإجراء بعض العمليات الحسابية الرياضية. في الواقع، إنّ المكتبة الكاملة من حيث الميزات هي من العثور النادر في عالم تطوير الويب الذي يتغيّر باستمرار. ومع ذلك، هناك أوقات تريد فيها أن يكون مؤلف المكتبة متجاوبًا ومستعدًا لإجراء تحديثات. يمكن أن تكشف الأبحاث والنتائج الجديدة عن طرق أفضل للقيام بالأشياء، لذلك فإن التقنيات المستخدمة في المكتبات والأطر عرضة دائمًا للتغيير.

عند اختيار مكتبة أو إطار عمل، انتبه إلى كيفية معالجة التحديثات، واعلم أن هذه القرارات يمكن أن تؤثر فيك:

  • هل تمتلك المكتبة جدول إصدارات معقولاً؟ على سبيل المثال، قد يتم إجراء تعديلات على مستودع رمز المصدر بشكل متكرر، ولكن إذا لم يتم "نشر" هذه التحديثات أو "يتم إصدارها" وفقًا لذلك، فسيواجه صعوبة في تنزيل هذه التحديثات.
  • هل يتم تحديث الإصدار في المكتبة باستخدام نظام تحديد إصدارات البرامج معقول؟ يجب أن توفر المكتبة الوقت. إذا اضطررت إلى تغيير الرمز بشكل غير متوقّع في كل مرة يتم فيها تحديث إصدار المكتبة، قد يؤدي ذلك إلى إلغاء الغرض من استخدام تلك المكتبة في المقام الأول. أحيانًا لا مفر من حدوث تغييرات، ولكن في عالم مثالي، تكون التغييرات نادرة ولا تُفرَض على مستهلكي المكتبات.
  • هل تستثمر المكتبة جهدها من أجل التوافق مع الأنظمة القديمة؟ في بعض الأحيان، قد تأتي تحديثات البرامج مع تغييرات قد تؤدي إلى عطل، ولكنها توفّر أيضًا طبقة من التوافق مع الأنظمة القديمة. يتيح ذلك للمستهلك استخدام أحدث إصدار من المكتبة مع إدخال تغييرات بسيطة على الرمز الخاص به.

الترخيص

ترخيص البرامج هو جانب مهم عند استخدام مكتبات البرامج الخارجية. يمكن لمؤلف المكتبة منح ترخيص لمكتبته. إذا كنت تفكر في استخدام المكتبة، فقد يؤثر عليك خيار الترخيص الذي توفّره هذه المكتبة.

على سبيل المثال، قد يكون لمكتبة JavaScript ترخيص برنامج يسمح لك باستخدامها في بيئة غير تجارية. بالنسبة لمشروع الهوايات الشخصية، قد يكون هذا اختيارًا رائعًا. إذا كان مشروعك يحتوي على عنصر تجاري، فقد تحتاج إلى التفكير في ترخيص المؤسسة.

إذا كانت لديك شكوك، ننصحك بالبحث عن مشورة قانونية احترافية أو الرجوع إلى الفريق القانوني داخل شركتك.

مشاركة

يمكن أن تكون المكتبة أو إطار العمل الذي يضم مجموعة كبيرة من المستخدمين/المساهمين مفيدًا، ولكن هذا ليس مضمونًا. بشكل عام، كلما زاد عدد المستخدمين الذين لديهم مكتبة أو إطار عمل، زادت احتمالية الاستفادة من ذلك. ضع في اعتبارك الإيجابيات والسلبيات التالية للمشاركة في منتدى للتطوير:

الإيجابيات:

  • قد تعني قاعدة المستخدمين الكبيرة فرصة أكبر لاكتشاف الأخطاء مبكرًا وكثيرًا.
  • إذا كان المنتدى كبيرًا ونشطًا، قد يكون عليك توفير المزيد من البرامج التعليمية والأدلة والفيديوهات وحتى الدورات التدريبية في المكتبة أو إطار العمل المعنيّ.
  • إذا كان المنتدى كبيرًا ونشطًا، قد تحصل على المزيد من الدعم على المنتديات والمواقع الإلكترونية للأسئلة والأجوبة، ما يزيد من احتمالية الإجابة عن أسئلة الدعم.
  • ويعني بناء منتدى متفاعل زيادة عدد المساهمين الخارجيين في المكتبة أو إطار العمل. بل يمكنها المساعدة في تقديم ميزات ليست ضمن خارطة طريق المؤلف.
  • عندما يكون هناك شهرة كبيرة من مكتبة أو إطار عمل ضمن مجتمع ما، تزداد احتمالية أن يكون زملاؤك وزملائك قد سمعوا عن مثل هذه المكتبة أو إطار العمل أو أن يكونوا على دراية بها.

السلبيات:

  • يمكن أن يصبح المشروع الذي له قاعدة مستخدمين كبيرة ومتنوّعة متضخمًا بسبب إضافات الميزات الثابتة. يمكن أن تضر المكتبات الكبيرة بأداء الويب.
  • يمكن أن يكون المشروع الذي يضم مجتمعًا نشطًا ومتفاعلاً أمرًا مرهقًا للمؤلفين والوصيين، وقد يتطلب إشرافًا مكثفًا على المنتدى.
  • يمكن أن يبدأ المشروع الذي ينمو بسرعة، ولكنه لا يحصل على الدعم المناسب، في إظهار علامات على وجود مجتمع غير لائق. فعلى سبيل المثال، قد يشعر مطورو الويب المبتدئين أو المبتدئين بعدم الترحيب بهم في مجتمع معين بسبب القيود المفروضة.

الوثائق

يمكن أن تساعدك مستندات البرامج دائمًا في حلّ بغض النظر عن مدى بساطة أو تعقيد مكتبة أو إطار عمل JavaScript. حتى المطورين ذوي الخبرة العالية يستخدمون التوثيق، بدلاً من اكتشاف التعليمات البرمجية بأنفسهم. يوضح التوثيق واجهة برمجة التطبيقات التي يجب عليك استخدامها، وكيف يجب استخدامها.

يمكن أن توفر المستندات نموذجًا للتعليمة البرمجية، مما يسهل عليك البدء بسرعة. عندما تقوم بتقييم مكتبة أو إطار عمل، يمكنك طرح بعض الأسئلة التالية:

  • هل تتضمن المكتبة وثائق؟ وإذا لم يكن الأمر كذلك، فستحتاج إلى الشعور بالراحة عند اكتشاف الأمور بنفسك.
  • هل الوثائق واضحة وسهلة الفهم وخالية من الغموض؟ يقضي العديد من المطوّرين وقتًا طويلاً في إعداد المستندات. قد يبدو الأمر صغيرًا، لكن الوضوح في الوثائق النصية قد يكون له تأثير كبير على إنتاجيتك.
  • هل تم إنشاء الوثائق بالكامل بشكل تلقائي؟ قد يكون من الصعب استيعاب هذه المستندات ولا توفر دائمًا إرشادات واضحة حول كيفية استخدام واجهة برمجة التطبيقات.
  • هل الوثائق محدَّثة؟ يتم التعامل مع صيانة الوثائق أحيانًا على أنها فكرة لاحقة. إذا تم تحديث المكتبة ولكن لم يتم تحديث الوثائق، فقد يؤدي ذلك إلى إهدار وقت التطوير.
  • هل الوثائق شاملة ومتاحة بتنسيقات متعددة؟ تُعد أدلة المستخدم ونموذج التعليمات البرمجية والوثائق المرجعية والعروض التوضيحية المباشرة والبرامج التعليمية جميعها تنسيقات وثائق قيمة يمكن أن تساعدك على النجاح في استخدام مكتبة أو إطار عمل.

لا يمكن أن تكون الوثائق كاملة دائمًا، ولا بأس بذلك. ستحتاج إلى تقييم احتياجات مؤسستك ومتطلبات مشروعك وتعقيد برنامجك، واستخدام ذلك لتحديد مستوى الوثائق التي تحتاجها.

الخلاصة

من الطبيعي أن تشعر بالإرباك عند اختيار مكتبة أو إطار عمل لأول مرة. ومثل أي شيء آخر، كلما تعلمت وتدربت على مهمة ما، أصبحت أفضل. قد يكون من المفيد الرجوع إلى هذه المشاركة عند اختيار مكتبة أو إطار عمل لاستخدامه في المرة التالية. يمكنك استخدام العناوين الواردة في هذه المشاركة كقائمة تحقُّق. على سبيل المثال: هل هذه المكتبة ذات أداء جيد؟ هل تستوفي هذه المكتبة معايير أعمالي المتعلّقة بإمكانية الوصول إلى الويب؟

هناك جوانب أخرى من المكتبات والأطر التي قد ترغب في وضعها في الاعتبار، والتي لم تتم مناقشتها بشكل مكثف في هذه المقالة:

  • القابلية للتوسع: ما مدى سهولة توسيع نطاق المكتبة باستخدام منطق و/أو سلوك مخصّص؟
  • الأدوات: إن أمكن، هل تحتوي المكتبة على أدوات مثل المكوّنات الإضافية لتعديل الرموز، وأدوات تصحيح الأخطاء، وإنشاء مكونات إضافية للنظام؟
  • البنية: من المهم استخدام رمز نظيف، ولكن هل بنية المكتبة بشكل عام منطقية؟
  • الاختبارات: هل يحتوي المشروع على مجموعة اختبار؟ هل يستخدم موقع المشروع على الويب شارات أو مؤشرات تجتازها مجموعة الاختبار مقابل أحدث الالتزام؟
  • التوافق: هل تعمل المكتبة بشكل جيد مع مكتبات و/أو إطارات عمل أخرى تستخدمها حاليًا؟
  • التكلفة: ما هي تكلفة إطار العمل؟ هل هي مفتوحة المصدر أم متاحة للشراء؟
  • المقاييس المخصّصة: من المفترض أن تكون هذه المقاييس منخفضة في قائمة المعايير، أو حتى يتم تجاهلها بالكامل، ولكن قد تحتاج إلى مراعاة "الأصوات" في المشروع و/أو حسابات وسائل التواصل الاجتماعي التي تمثّل المشروع و/أو عدد الأخطاء/المشاكل المفتوحة في صفحة المشروع.