מונו (תוכנה)

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

מונואנגלית: 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, חיפשה דרך לשפר את הפרודקטיביות של תהליך כתיבת התוכניות הם החליטו להשקיע בכתיבת כלים לכתיבת סי שארפ בלינוקס ובגלל מחסור בכח אדם הכריזו ביולי 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 על לינוקס.

קישורים חיצונייםעריכה