قطعا یك فریمورك نمیتواند پاسخگوی تمام نیازهای یك پروژه باشد، به همین دلیل شركتهایی متعدد و همینطور تعدادی از افراد یك سری كتابخانه را كه به آنها اصطلاحا Third-Party گفته میشود توسعه دادند تا كار توسعه یك نرمافزار را برای شما ساده كنند. برای مثال اگر برای ظاهری زیبا باید ساعتها وقت بگذارید، میتوانید از چند كتابخانه استفاده كنید كه بعضی از آنها به صورت Free یا Open Source هستند (توجه داشته باشید رایگان به معنی متن باز نیست و همین طور برعكس متن باز یك مفهوم در تولید نرمافزار است) و بعضی با قیمتهای متفاوت فروخته میشوند. شما به عنوان برنامهنویس به بعضی از این كتابخانهها كه از این به بعد به آنها Package(بسته) میگوییم نیاز دارید.
این بستهها طبعا به روز خواهند شد، اما معدودی هستند كه از یك نسخه به بعد به حالت تعلیق درمیآیند. آیا مدیریت این بستهها و نسخههای جدید كار سادهای است؟ این كار هم زمانبر است و هم هزینه اضافه دارد، چراكه شما باید همیشه دنبال نسخههای به روز باشید و آنها را استفاده كنید. باید ببینید ابزاری كه استفاده كردهاید آیا بهروزرسانی خواهند شد و اگر شدهاند، نیازهای جدید شما را كه در طول اجرای پروژه یا نگهداری آن به وجود میآید پاسخ خواهند داد یا خیر؟
مایكروسافت تمامی این مشكلات را با ارائه یك افزونه برای Visual Studio2010 خود برطرف كرد، اسم این افزونه NuGet (بخوانید نوگت). این افزونه براحتی امكان اضافهكردن بستههایی را كه برای انجام كارهای خود نیاز دارید، به شما میدهد. همین طور شما میتوانید آنها را مدیریت كنید.
مشكل بعدی كه در استفاده از این ابزارها به وجود میآید، تنظیمات آن بستههاست. بگذارید یك مثال بزنم: Elmah برای برنامهنویسان داتنت بخصوص برنامههای تحت وب، نامی آشناست. این بسته به شما امكان دیباگكردن درخواست این بسته برای این كه بتواند راحت با سایت شما كار كند، نیاز به تنظیمات دارد و اعمال این تنظیمات قدری وقتگیر است. شما حساب كنید اگر برای هر بسته بخواهید مقداری زمان را برای تنظیمات آن بگذارید، چقدر از وقت شما در طول اجرای پروژه گرفته خواهد شد؟
NuGet این مشكل را هم برطرف كرده، یعنی اگر بستهای نیاز به تنظیماتی خاص یا تولید فایلی در كنار پروژه شما داشت، براحتی میتوانید با افزودن بسته یا اجرای فرمانهایی كه مخصوص آن بسته است، این كارها را انجام دهید.
NuGet بر اساس PowerShell توسعه داده شده است. برای دانلود و استفاده از آن میتوانید به سایت Nuget.codeplex.com بروید یا برای نصب آن از بخش مدیریت افزونههای ویژوال استودیو ۲۰۱۰ استفاده كنید. برای این كار ویژوال استودیو را باز كنید و از منوی Tools گزینه Extension Manager را انتخاب كنید و در كادر باز شده در پنل سمت راست Online Gallery را برگزینید و در بخش مربوط به جستجو عبارت NuGetرا تایپ كنید ( به این نكته توجه داشته باشید در ویژوال استودیو ۲۰۱۰ مدیریت افزونهها و همینطور توسعه آنها راحتتر شده است. برای استفاده از افزونههای دیگر نیز میتوانید به همین روش عمل كنید یا به سایت visualstudiogallery.msdn.microsoft.com بروید.)
بعد از نصب NuGet شما 2 راه برای نصب بستههای مورد نیاز خود دارید.
راه اول این است كه روی فایل پروژه خود راستكلیك كرده و گزینه Add Library Package Reference … را انتخاب كنید. در كادر ظاهرشده شما میتوانید بستههایی را كه نصب كردهاید مشاهده كنید و با انتخاب Online از منوی سمت راست و گزینه Nuget Official package source بستههایی را كه دیگر برنامهنویسان ثبت كردهاند، ببینید. شما همچنین امكان جستجو دارید و در بخش Update میتوانید نسخههای به روز شده بستههای مورد استفاده خود را مشاهده كنید. در بخش Installed نیز میتوانید بستههایی را ببینید كه نصب كردهاید و آنها را در صورت عدم نیاز Uninstall كنید.
راه بعدی استفاده از پنجره Package Manager Console است كه در واقع یك PowerShell است و شما میتوانید دستورهای PowerShell را اجرا كنید. در ضمن بسته مورد نیاز خود را نصب كنید و برای راحتی استفاده از آن، كلید كوتاه Tab در نظر گرفته شده است، شما با نوشتن دستور Install – Package و نوشتن قدری از نام بسته مورد نظر خود و فشار دادن كلید Tab، بستههای مورد نیاز خود را پیدا كنید. مثلا بنویسید Install – Package mvc بعد كلید Tab را بزنید، یك فهرست برای شما باز خواهد شد كه شما میتوانید با جستجو در بستههایی كه نام mvc دارند، هر كدام را كه مد نظرتان بود انتخاب كنید و سپس Enter را بزنید تا بسته مورد نظر دانلود و نصب شود.
البته میتوانید از سایت nugget.org بستههای موجود را مشاهده كنید و هر یك را كه خواستید، از آنجا دانلود كنید. همین طور خود یك بسته توسعه دهید و آن را برای عموم قرار دهید.
در شماره بعدی بیشتر درباره نصب و اجرای فرمان برای بعضی از بستهها و همینطور توسعه یك بسته توضیح خواهیم داد.
اميربهاالدين سبطالشيخ