מונו (תוכנה)

מונו (באנגלית: Mono) הוא מיזם קוד פתוח שמובילה חברת נובל, ומטרתו ליצור סביבת כלי פיתוח לסביבת .NET כפי שהוגדרה בתקן ECMA. 

בין היתר, מטרת הפרויקט היא פיתוח מהדר לשפת #C ומכונה וירטואלית CLR. בשונה מסביבת הפיתוח של מיקרוסופט (הפועלת במערכת Windows בלבד) סביבת הפיתוח של מונו פועלת במערכות רבות ובהן: לינוקס, Windows, Mac OS X, UNIX, FreeBSD. במטרותיו דומה מונו לפרויקט הקוד הפתוח DotGNU Portable .NET. 

רוב המשתמשים בסביבת מונו הם מפתחי קוד פתוח המבקשים לפתח בכלי RAD (Rapid Application Development), כפי שמאפשרת סביבת .NET אך מבלי להגביל את הפיתוח למערכת Windows בלבד.

קוד הפרויקט מופץ תחת תנאי הרישיונות GPL, LGPL ו-MIT.

 היסטוריה 
מונו התחיל כפרויקט של מיגל דה איקזה . כאשר החברה שבבעלותו, Ximian, חיפשה דרך לשפר את יעילות תהליך כתיבת התוכניות, הוחלט להשקיע משאבים בכתיבת כלים לכתיבת #C בלינוקס, ובשל מחסור בכוח אדם, הוכרז ביולי 2001 פרויקט הקוד-פתוח מונו. כשלוש שנים לאחר מכן ב-2004 הוכרזה גרסה 1.0 של מונו (שבספרדית משמעותו קוף).

 הסבר טכני 
בבסיס מונו עומדים: המהדר של C#, המכונה הווירטואלית וספריות הבסיס (וכל אלו עומדים בתקני ECMA) לצד כלי הפיתוח שבבסיסם נועדו לסביבות: GNOME ו-GTK, הכוללים בין היתר: ספריות ממשק משתמש גרפי, אינטגרציה עם מערכת ההפעלה, תמיכה ב-XML, תמיכה במסדי נתונים ועוד. לבסוף הפרויקט כולל רכיבי תאימות מול הרחבות של מיקרוסופט לשפה (שאינם חלק מתקן ECMA) הכוללים בין היתר: תמיכה ב־ADO.NET, ASP.NET, Windows.FORMS ועוד.

 זכויות יוצרים 
בשל אי-בהירות בסוגיית זכויות היוצרים עבור חלק מרכיבי .NET של מיקרוסופט, ישנם מפתחים המעדיפים להשתמש בהרחבות החופשיות שיש למנגנונים כמו GTK במקום ל־Windows.FORMS (הדבר אינו מהווה בעיה לעבודה מכיוון שיש מימושים של ספריות אלו למרבית מערכות ההפעלה, אך ייתכן וייווצרו בעיות תאימות כאשר ישתמשו בקוד שנכתב ספציפית רק למוצרי מיקרוסופט כמו למשל Visual C#).

 פיתוחים עתידיים 
עם השקת Windows Vista הושקה גם .NET Framework 3 המכילה שיפורים ושינויים רבים ומשמעותיים לעומת .NET Framework 2. מפתחים רבים חוששים שפרויקט מונו שעדיין לא התאים את עצמו לגרסה 2 של .NET לא יצליח לעמוד בקצב הפיתוח של מיקרוסופט ולהתאים את עצמו לגרסה 3.

 ביקורות 
כיום יש מספר בעיות טכנולוגיות שמונעות את התקדמות הפרויקט ומרתיעות מפתחים מאימוץ מלא של הפרויקט.
פרויקט מונו נמצא כרגע בתאימות רבה יחסית ל .NET Framework 1.1. למרות שהתאימות לגרסה 1.1 טובה, עדיין היא לא בשלה להרצת אפליקציות מורכבות ותדרוש התאמה רבה.
עקב ריבוי סביבות העבודה בלינוקס, קשה לפתח מוצר התואם את כל סביבות העבודה ומאפשר עבודה וכתיבה בצורה נוחה ובאופן רגיל לחלוטין במחלקות וכלים לתכנות חלונאי של .NET Framework.
מפתחים אינם יכולים להשתמש ביכולות של System.Windows.Forms (מרחב השמות בו נמצאים רוב הדברים הקשורים לפיתוח חלונאי ב .NET) בצורה טבעית ולדעת בוודאות שהקוד שלהם יעבוד בלינוקס ובכל סביבות העבודה האפשריות מאחר שפרויקט מונו לא תומך בזה בצורה מקיפה דיו ודורש במקרים רבים שימוש בספריית חלונות שונה, כדוגמת GTK.
NET Framework 2 ו־ASP.NET 2.0 לא נתמכים כראוי בפרויקט מונו.
היות שהשינויים בגרסה זאת רבים וחשובים, מפתחים רבים החלו להשתמש בה, אך עם זאת, פרויקט מונו עדיין לא מותאם להרצת אפליקציות שפותחו ב .NET Framework 2.0 על גבי לינוקס.

ראו גם
 מונוגיים

קישורים חיצוניים


קטגוריה:כלי תכנות
קטגוריה:תוכנה חופשית