NuGet – תשתית קוד פתוח לניהול ספריות ותוספות לאפליקציות Web

19 בינואר 2011

אין תגובות

NuGet מנהל חבילות תוספותאתם מפתחים אפליקציית Web כלשהי, ורוצים לשלב ספריות קוד צד שלישי כדי לקצר את התהליך – ספריית תשתית לגישה למסד הנתונים, תשתית Logging או ספרייה לשילוב Dependency Injection באפליקציה.

היום, כדי להוסיף חבילות כאלה, אנחנו צריכים להכיר אותן מראש, לדעת לאיזה אתר לגשת כדי להוריד אותן, להוריד, לפתוח, לשלב בפרוייקט, להוסיף את ההפניות לחבילה, לשלב בקבצי הקונפיגורציה והכל – עוד לפני שעשינו שימוש כלשהו בחבילה.

ומה לגבי דרישות קדם של החבילה? למשל, אם תשתית NHibernate עושה שימוש בספרייה log4net ובספרייה antlr – עלינו להוריד את כל החבילות האלה מהאתרים שלהן, ובגירסא המתאימה לגירסת ספריית ה- NHibernate שאנחנו רוצים לעשות בה שימוש.
ומה לגבי עדכונים? איך נדע כשיש עדכונים לחבילה? או לאחת מהחבילות שהחבילה שלנו מסתמכת עליה? שוב נצטרך לבצע את התהליך מהתחלה…

אז כאן NuGet נכנסת לתמונה.

מהי NuGet?

NuGet היא תשתית חינמית בקוד פתוח לניהול ספריות מבית מיקרוסופט, המתווספת ל- Visual Studio 2010, שהופכת את תהליך הוספת חבילות קוד צד שלישי לאפליקציות דוט נט לקלה הרבה יותר. היא כוללת גלרית ספריות קוד שהולכת וגדלה מיום ליום וכבר מכילה את החבילות הפופולריות בעולם.

NuGet היא עוד פיתוח של מיקרוסופט כחלק מיוזמת הקוד הפתוח Outercurve Foundation, וכבר עם שחרורה זכתה להיות אחד מ- 10 הפרוייקטים המובילים בקוד פתוח שכדאי לשים אליהם לב ב- 2011 (מתוך דמרקר).

איך זה עובד?

NuGet מאפשרת למפתחים של פרוייקטי קוד פתוח כגון (Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah וכו') לארוז את הספריות שלהם ולרשום אותן לגלריה המרכזית (ככה בונים חבילות ל- NuGet)

מפתחים של אפליקציות Web מוסיפים ל- Visual Studio 2010 תוסף שיודע לעבוד מול הגלריה הזאת כדי למצוא, להוריד ולהתחיל לשלב תשתיות כאלו בקלות לתוך פרוייקטי הדוט נט שלהם.

דוגמא: הוספת חבילת ELMAH לפרוייקט ASP.NET

נניח שמפתחי פרוייקט Web כלשהו רוצים לשלב שימוש בספריית קוד פתוח פופולריות בשם ELMAH (ראשי תיבות של Error Logging Modules and Handlers for ASP.NET), כדי לאסוף לוג של שגיאות באפליקציה ולהציג אותן בצורה נוחה.

כדי להוסיף היום את ELMAH לפרוייקט, צריך לגשת לאתר של הפרוייקט, להוריד אותו כ- ZIP, לפרוש אותו, להוסיף אותו לאפליקציה בכמה מקומות (הוספת Reference, הוספת הגדרות בקובץ קונפיגורציה וכו'). אפשרי, אבל מסורבל.

כאשר NuGet מותקנת בתוך Visual Studio, נפתח את חלון הוספת חבילות צד שלישי לפרוייקט שלנו, ונחפש תשתית Logging.

NuGet מנהל חבילות תוספות

כשנבחר להוסיף את ELMAH, תשתית ה- NuGet תדע להוריד את החבילה, להוסיף אליה הפניה מהאפליקציה שלנו, ולהוסיף את ההגדרות הנדרשות לקובץ הקונפיגורציה.

NuGet מנהל חבילות תוספות

ותוך פחות מדקה, יש לנו תשתית Logging באפליקציה, שאוספת ומציגה את השגיאות שנאספו באפליקציית ה- Web שלנו.NuGet מנהל חבילות תוספות

סיכום

NuGet הופכת את השימוש בספריות צד שלישי בקוד פתוח לפשוט ונוח, ומאפשרת להגדיל את קהילת המפתחים המשתמשים בפרוייקטי קוד פתוח ברשת.

קישורים נוספים:

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *