מונו (תוכנה)
מתוך ויקיפדיה, האנציקלופדיה החופשית
ערך זה זקוק לעריכה, על מנת שיתאים לסגנון המקובל בוויקיפדיה. לצורך זה ייתכנו סיבות אחדות: פגמים טכניים כגון מיעוט קישורים פנימיים, סגנון הטעון שיפור או צורך בהגהה. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה שלו. |
מונו הוא פרויקט שמובל על ידי חברת נובל על מנת ליצור סביבת כלי פיתוח לסביבת .NET כפי שהוגדרה בתקן של ECMA שכוללת בין היתר מהדר לשפת #C ומכונה וירטואלית CLR. מונו מסוגל לרוץ על מספר רב של פלטפורמות (בניגוד לפיתוח המקורי של מיקרוסופט שרץ רק על חלונות) הכוללות את Linux, Windows, Mac OS X, UNIX, FreeBSD ועוד.
הפרויקט הינו חינמי והקוד פתוח, כאשר הוא מוגן על ידי חוזה דואלי (מסדרת GPL, LGPL ו MIT, עם פתח לרישוי מסחרי עתידי). הוא דומה במטרותיו לפרויקט דומה בשם DotGNU Portable .NET אשר גם הוא פרויקט קוד פתוח. זאת בניגוד ליישום המקורי של מיקרוסופט שהוא לא חופשי ולא קוד פתוח (ולא מרשה שימוש מסחרי).
עיקר הפיתוח של תוכנות במונו נעשה בעיקר על ידי פרויקטים של קוד פתוח שרוצים לתכנת במהירות (כפי ששפות כמו C# מאפשרות) אך בלי להיות מוגבלים למערכת Windows (כפי שמוגבלים בשימוש בכלים של מיקרוסופט לפעמים).
תוכן עניינים |
[עריכה] היסטוריה
מונו התחיל כפרויקט של מיגל דה-לקאסה ולבסוף כאשר החברה שלו, Ximian, חיפשה דרך לשפר את הפרודקטיביות של תהליך כתיבת התוכניות הם החליטו להשקיע בכתיבת כלים לכתיבת C# ב-Linux ובגלל מחסור בכח אדם הכריזו ביולי 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 על לינוקס.