Dependency / Packageالاعتمادية والحزمة
ما هو Dependency / Package؟
قطعة جاهزة من كود غيرك يستخدمها مشروعك بدل أن يكتبها من جديد.
ما معنى Dependency / Package بالعربي؟
الاسم المعتمد الآن هو «الاعتمادية والحزمة». ولأن كثيرًا من المصطلحات لم يستقرّ لها اسم عربي واحد، يكتب هذا القاموس قرّاؤه: صوّت للاسم الذي تراه أوضح، أو اقترح اسمًا أفضل. نراجع الأصوات في كل جولة ونعتمد ما يختاره الناس.
-
الاعتمادية والحزمة الاسم المعتمد اسم القاموس
-
التبعيات ترجمة شائعة في التوثيق
-
المكتبات الخارجية تعبير شائع بين المطورين
-
باكدج تعريب صوتي شائع بين المطورين
صوت واحد لكل قارئ في كل مصطلح، وتستطيع نقله إلى اسم آخر. حين يتجاوز اسمٌ الاسمَ المعتمد ويصل إلى 5 أصوات على الأقل، نعرضه للاعتماد في الجولة التالية.
اقترح اسمًا عربيًا أفضل
هل الشرح غير واضح أو فيه خطأ؟
مطبخ، وفطيرة على وشك أن تدخل الفرن. بجوار الصينية علبة من المتجر فيها قاعدة عجين جاهزة، مفرودة ومثقوبة ومضبوطة السماكة. كان بإمكانك أن تطحن الدقيق وتعجن وتفرد بنفسك، لكنك اشتريت القاعدة الجاهزة وصببت جهدك في الحشو، لأن الحشو هو ما يميّز فطيرتك، لا العجين. ولا أحد يلومك على أنك لم تزرع القمح.
قاعدة العجين هي الاعتمادية (Dependency): جزء جاهز من كود كتبه غيرك، يستخدمه مشروعك بدل أن يكتب نسخته الخاصة. مشروعك «يعتمد عليه»، ومن هنا الاسم. وحين تُغلَّف هذه القطعة في شكل يسهل تنزيله وتركيبه، تسمّى حزمة (Package). المصدر المفتوح هو ما يجعل هذه الحزم متاحة بالآلاف.
وكل مشروع يفعل ذلك، وهذا عقل لا كسل. المشكلات المملّة والصعبة التي حُلّت من قبل، مثل التعامل مع التواريخ والتقويم الهجري، أو معالجة الدفع، أو قراءة ملف، أو رسم رزنامة على الشاشة، بناها أحدهم واختبرها وأحكمها على مدى سنوات. إعادة كتابتها بنفسك أبطأ وأسوأ. فتأخذ الحزمة وتصرف وقتك على الجزء الذي هو فعلًا لك.
أين تراها؟ في ملف يسمّى غالبًا package.json، وهو حرفيًا قائمة التسوّق: كل قطعة مستعارة يحتاجها المشروع، باسمها ورقم إصدارها. وعبارة «ثبّت الاعتماديات»، أو الأمر npm install، تعني: اذهب واجلب كل ما في القائمة واملأ المخزن. الوكيل ينفّذ هذا في أول دقيقة من إعداد أي مشروع.
تنبيهان صادقان، لأن هنا تحدث المشكلات الصامتة:
- الاعتماديات لها اعتماديات. قاعدة العجين صُنعت بدقيق غيرك، والدقيق بقمح غيرك. مشروع صغير قد يسحب مئات الحزم لم تسمع بمعظمها، والبرج يصمد حتى تنكسر لبنة في الأسفل، أو يدسّ أحدهم فيها شيئًا خبيثًا عمدًا.
- الإصدارات تهمّ. حزمة العام الماضي وحزمة هذا العام وصفتان مختلفتان قليلًا. ثبّت رقم الإصدار، وإلا غيّر «تحديث» عادي طعم الفطيرة كلها.
تخيّل أن الوكيل يقول: «سأضيف حزمة لإرسال رسائل WhatsApp». هو لا يختصر الطريق على حسابك؛ هذه هي الطريقة التي تُبنى بها البرمجيات اليوم: اختيار قطع جاهزة جيدة وتركيبها بإتقان.
لماذا يهمك Dependency / Package؟
ستفهم أن «إضافة حزمة» ليست كسلًا بل الطريقة المعتادة للبناء، وأن المشكلة قد تأتي من حزمة لم يكتبها فريقك. وستسأل عن تثبيت الإصدارات قبل أي تحديث كبير.
متى ستسمع كلمة Dependency / Package؟
يقول المطوّر: «المشكلة ليست في كودنا، حزمة خارجية تغيّرت في آخر تحديث».
