إدارة المكتبات البرمجية بواسطة NuGet
بالنسبة لأي مطور أو مبرمج ، فكتابة مشروع دوما من الصفر قد تكون طريقة غير عملية ؛ فهي تستهلك الكثير من الوقت ، ومع مرور الوقت – اقصد المشاريع ! – تجد انه سيكون من الافضل لك كتابة مكتبات Libraries خاصه بك لتنفيذ مهام معينه بشكل متكرر او حتى الاستعانة بأخرى خارجية طورها مبرمجين قد لا تعلم حتى اسماءهم . هذه المكتبات تختصر عليك الكثير من الجهد ، فحتى لو كنت احرف مبرمج على وجه المعمورة ، سيكون من الافضل لك ان تستفيد من خبرة الاخرين ومن المكتبات التي يكتبونها كخلاصة لخبرتهم البرمجية في مجال معين ، نعم ؛ فمن منا لم يستعن بمكتبات خارجيه في مشاريعه مهما كان حجم المشروع صغيرا ام كبيرا ؟
حسنا ، لنفترض انك قد خضت في غمار مشاريع كثيرة ، وفي كل مشروع استخدمت اكثر من مكتبة لمساعدتك على بناء برنامجك وتنفيذ المهام المطلوبة منك ومنه ، ألا تجد ان عملية الحصول على المكتباتمن مصادرها الرئيسية هو امر قد يكون عسيرا في بعض الاحيان ، البعض يفضل الغوص في اعماق مواقع كـ codePlex او Sourceforge ، قد تفلح وقد تفشل ايضا – لا مجال للتحبيط هنا ولكنه الواقع. لنفترض انك وجدت مبتغاك ، واخذت تقرأ في وثائق المكتبة Documentation ، وعرفت بنيتها التي تحتاج لمعرفتها حتى تستخدم هذه المكتبة العظيمة بالنسبة لك ، هب أنك قد اكملت مشروعك وتفاجأت بمشكله في احدى المكتبات وان تلك المشكله قد تم اصلاحها في اصدار لاحق او مجرد تحديث صغير ، فهل من المعقول انك ستقوم بحذف النسخه الحاليه والبحث عن ملفات النسخه الجديده وتضمينها في مشروعك واضافتها الى المراجع References الخاصه بمشروعك من جديد ؟ ثم ماذا بعد ؟ آه ، صحيح نسيت ، هناك بعض المكتبات التي تحتاج الى مكتبات أخرى لكي تعمل وتلك قضيه أخرى !
حسنا ، قد تجد ان الموضوع في بعض الاحيان يتشعب كثيرا في هذا الجانب ويكبر كثيرا ، وقد تستهلك الكثير من الوقت لإدارة المكتبات الموجدوة في مشروعك ومشاكلها هي بنفسها ! أفليس من الأفضل استخدام مدير للمكتبات Libraries Manager لو توفر ؟
الجواب بالطبع هو نعم ، وهنا مايكروسوفت قررت اخيرا انشاء أداة لإدارة هذه المكبتات وإسمها NuGet ، هذه الأداة ستحل الكثير من المشاكل المتعلقه بهذا الموضوع ، كيف لا ، ونحن نستخدم Visual Studio أكبر وأفضل بيئة انتاج برمجي متكاملة IDE على وجه الأرض ، ليس هذا فحسب ؛ بل إنها تعتزم تضمينها بشكل تلقائي في الاصدارات القادمة من Visual Studio .
حسنا ، قبل البدء في الحديث عن كيفية استخدامها والمكان الذي تحصل منه عليها ، اود التنويه الى ان هذه الاداة خاصه بالإصدارات التجارية من Visual Studio 2010 وما فوق ، فإذا كنت تستخدم اقل من هذا ، فيسرني ان تكمل القراءة من باب العلم بالشيء في الفترة الحالية على الأقل !
يمكن الحصول على NuGet من مدير التوسيعات Extension Manager ، فقط قم بالبحث عنه وستجده كما يظهر من هنا:
بعد ان تقوم بالخطوات المعتادة في تحميله واعادة تشغيل Visual Studio عندما يطلب منك ذلك ، ستجد ان هناك امرا اضافياً يظهر في القائمة اليمنى الخاصه بمشروعك كما يظهر من الصورة :
لو قمت بالنقر عليه ، ستفتح لك نافذة شبيهه بتلك الخاصه بإضافة عناصر للمشروع Project items كالتالي :
من تلك النافذة ، يمكنك البحث عن المكتبات الموجودة وتثبيتها في مشروعك الحالي ، بل وتحديث المضمنه في مشروعك ، والأمر لا يتعدى مجرد بضع نقرات على فأرتك – عفوا ، قد يكون لوح التأشير او حتى الشاشه !.
الآن اصبح كل شيئ جاهزا ، للعمل ، فقد تم تحميل المكتبة المختارة ، فك ضغط ملفاتها ، نسخ تلك الملفات الى مشروعك ، اضافة المراجع references الضرورية ، بل وحتى اي تعديلات تحتاجها في مشروعك كإضافة تعليمات الى ملف app.config او web.config وغيرها .
هذه التدوينة لم تكن لغرض التبحر في هذا الموضوع ، بل الإشارة إليه بشكل مقتضب ، فأنا متأكد أن من يهتم بهذه الموضوع سيكون بوسعه التبحر في هذا الموضوع بل ورفع مكتباته الخاصه به الى سيرفرات هذا المدير الرائع !
للمزيد ، يمكنكم قراءة المرجع الذي كتبت عنه من هنا
تقبلو تحياتي العطرة
أحدث التعليقات