ما هو الفرق بين المكتبة وحزمة؟


الاجابه 1:

tldr. هم أكثر أو أقل نفس الشيء.

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

غالبًا ما تكون الحزمة مكتبة تم إعدادها بطريقة ما لتثبيتها باستخدام مدير الحزم على سبيل المثال rubygems أو npm.

تشير بعض لغات البرمجة إلى التقنيات إلى رمز مساحة الاسم ضمن البرنامج كحزم ، على سبيل المثال ، Java في لغات أخرى مثل Go to language pacing names of language هي في الواقع نفس الآلية المستخدمة لتعريف المكتبات.

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

الاجابه 2:

حسب علمي ، سأحاول شرح ما أعرفه عن الاثنين.

لتبسيط ، سأستخدم الأمثلة.

الحزمة القياسية عادة ما تكون لمهمة معينة. مثال جيد هو حزمة nodemon لـ NodeJs / Express.

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

يمكن أن تكون اللغة المكتوبة بها هي نفسها التي تعمل بها أو يمكن أن تكون مقترنة مع لغات أخرى.

الآن بالنسبة للمكتبة ، والمثال الجيد هو مسج. الآن ، عندما تفكر في jQuery ، فأنت تعلم أن هناك العديد من الوظائف التي يمكنك استخدامها من أجلها. إنها مجموعة أو أكثر من وظائف مجموعة javascript المقسمة معًا في ملف واحد ، لجعلها أسرع عند الترميز في Javascript.

هذا ما تقوم به المكتبة: تجميع وظائف اللغة في ملف واحد ، ثم تمنحك وظائف مخصصة للاتصال بها ، مما يجعل عملية الترميز أسرع بالنسبة لك.

أتمنى أن يساعد ذلك.