.NET Framework
NET Framework. (״דוט נט פריימוורק״ או ״תשתית דוט נט״) היא שכבת תוכנה של מיקרוסופט שבאמצעותה מקודדות ומורצות תוכנות אחרות. שכבה זו מספקת לתוכנות שרצות מעליה סט כלים ושירותים כגון: ניהול זיכרון, שליטה בהתקני קלט/פלט, הצפנת הודעות וכולי, כך שהמתכנתים אינם צריכים לכתוב ספריות עזר המספקות שירותים אלה, אלא רק את הלוגיקה העיקרית של התוכנה. בנוסף, שימוש בשכבת תוכנה זו (הנקראת גם "סביבה וירטואלית") מאפשר להריץ תוכנות על פלטפורמות שונות: חלונות, לינוקס, יוניקס, טאבלטים, טלפונים סלולריים וכולי, בלי צורך בשינוי קוד התוכנה, כי התוכנה "מדברת" רק עם הסביבה הווירטואלית, וסביבה זו כבר יודעת איך לדבר עם הפלטפורמה הספציפית. .NET הושקה ב־11 בפברואר 2002[1]. הפלטפורמה מספקת ממשק פיתוח אחיד הן לתוכנות שולחניות, לפיתוח אתרי Web, והן לתוכנות לסמארטפונים המריצים Windows Phone ואף מאפשרת לקשור ביחד התקני מחשוב שונים ולשתף ביניהם יישומים ומידע. היא פותחה כמענה תחרותי לארכיטקטורת J2EE מבית סאן מיקרוסיסטמס. בתחום התוכנות השולחניות, מספקת .NET ספרייה אחידה לפיתוח על כל משפחת מערכת ההפעלה חלונות, החל מגרסת Windows 98, במקום ממשקי תכנות היישומים של מערכות ההפעלה עצמן, או ספריית MFC. עד שנת 2016, יצאו אחת עשרה גרסאות של פלטפורמה זו. בראש צוות הפיתוח עמד הישראלי יובל נאמן, לשעבר סגן נשיא חטיבת כלי הפיתוח במיקרוסופט העולמית. שמה של הטכנולוגיה נלקח מסיומת האינטרנט שמציינת אתרים רשתיים, וזאת מכיוון שהטכנולוגיה פותחה בשיא בועת האינטרנט (אם כי גרסתה הרשמית הראשונה, גרסה 1.0, הוכרזה לאחר התפוצצות הבועה, בתחילת 2002). פלטפורמת פיתוח זו תומכת במגוון רב של שפות תכנות, ביניהן: #C, VB.NET, #F, שפת BOO ו-Vala. וגם מחוללי יישומים כדוגמת PowerBuilder וסביבות כמו דלפי, מאפשרים עבודה בסביבה זו. יכולות ומרכיבים עיקריים![]()
פריסה ושכיחותמיקרוסופט הגישה את טכנולוגיית .NET לגופי תקינה בינלאומיים, והיא תוקננה בתקן ECMA-335. טכנולוגיה זו שואבת חלק ניכר מעקרונותיה ואף מעיצוב מערכת האובייקטים שלה, מטכנולוגיית Java. בין היתר, היא משתמשת ברכיב החוצץ בין התוכנית המתבצעת לבין מערכת ההפעלה, המכונה Common Language Runtime, ושפתו נקראת Common Intermediate Language (בקיצור CIL, "שפת ביניים משותפת"). רכיב זה מהווה למעשה מכונה וירטואלית, המפרידה בין החומרה לתוכנה. רכיב זה מאפשר לפתח בשפות שונות ועבור מעבדים שונים, כל עוד השפה מהודרת לקובץ היכול לרוץ על ה־CLR. רכיב נוסף מהדר בדיוק בזמן (JIT – Just In Time) מהדר בזמן ריצה את קוד הביניים של המכונה הווירטואלית לקוד מכונה טבעי של המחשב הנוכחי, ומעניק ליישום יכולת להתבצע במהירות הקרובה למהירות של יישום שהודר לקוד מכונה טבעי, וזאת בדומה לשפת Java. מיקרוסופט עצמה פיתחה את שפת C#, וכמו כן יצרה מחדש את שפת Visual Basic תוך התאמתה באופן מלא לעקרונות תכנות מונחה עצמים, והיא מכונה Visual Basic .NET עבור סביבת .NET כמו כן יצרה מיקרוסופט גרסה של Java המכונה J#, גרסה של JavaScript המכונה JScript ואף גרסה "מנוהלת" (Managed) ל-C++ המכונה Managed C++. יצירת גרסאות .NET לשפות קיימות נועדה להקל על מפתחים שכבר היו מורגלים בשפות אלה, להגר אל סביבת .NET בנוסף, חברות אחרות יצרו גם הן גרסאות של שפות אחרות שניתן להדר אל סביבת CLI, כמו למשל גרסת .NET של שפת דלפי. כמו כן פותחה שפה XSharp. אחת מתוצאות תקנונו של ה־CLI היא שגם גופים אחרים רשאים לפתח מימוש של תקן זה. ואכן, קיימים לפחות שני פרויקטים בקוד פתוח לפיתוח סביבות .NET שלא יהיו קשורות למערכות החלונות דווקא – פרויקט מונו של חברת נובל ופרויקט דוט-גנו (GNU.). שני פרויקטים אלה מפתחים גרסאות של ה-CLI עבור מערכות לינוקס ומק, ומערכות אחרות, כך שבדומה לטכנולוגיית ג'אווה, תוכנה שפותחה על פלטפורמה אחת תרוץ על כל פלטפורמה אחרת עליה מותקנת ה־CLI. במקביל שפות פיתוח אופייניות לקוד הפתוח יצאו בגרסאות שעברו התאמה לסביבת הפיתוח של ה-.NET, כך למשל PHP יצאה בגרסה העונה לשם Phalanger. גרסאות
בשנת 2020 הוכרז כי לא יפותחו עוד גרסאות משמעותיות של NET Frameowrk, ושהפיתוח הפעיל יעבור לNET., ממשיכתה של NET Core.[2] יתרונות
חסרונות
מהדריםב-2 באפריל 2014 מיקרוסופט הוציאה לאור גרסת בטא למהדר חדש בשם DotNET Native[3], המאפשר להדר קוד בשפת #C ו-VB.NET לקוד מכונה באופן ישיר (Native Code), ללא שימוש ב-JIT (מהדר דינמי – Just-In-Time Compiler). לפי מיקרוסופט, מהדר זה מתבסס על המהדר של ויז'ואל סטודיו לשפת ++C, והוא מהדר סטטי. מהדר זה מיועד ליישומי Windows Store בלבד (יישומים למחשבי לוח של מיקרוסופט), אך לפי מיקרוסופט, בעתיד המהדר יתמוך גם ביישומי "חלונות" למחשבים נייחים (Desktop Applications), אך הדבר לא התממש עד הרבעון הראשון של 2016. היתרון הבולט במהדר זה הוא הביצועים – ניתן לכתוב קוד בשפת #C עם ביצועים דומים לקוד בשפת ++C, לפי מיקרוסופט. בנוסף לכך, מהדר זה מאפשר ל-#C לרוץ על מספר פלטפורמות שונות, ומקשה על פענוח לשפת המקור של הקובץ המהודר (Assembly Executable). יתרון נוסף הוא שאף על פי שהקוד הוא קוד מכונה, ניהול הזיכרון האוטומטי ושאר היתרונות של NET. עדיין מתאפשרים באופן מלא לחלוטין, בניגוד לשפות אחרות שמתהדרות לקוד מכונה (כדוגמת ++C). מהדר זה לא יחליף את מהדר ה-JIT, אך הוא יספק חלופה למהדר ה-JIT (ניתן לקבוע את סוג ההידור, JIT או Native, לפני ההידור). ניהול זיכרוןניהול הזיכרון של שפות המפותחות בסביבה זו נעשה באופן אוטומטי בניגוד לתכנות בשפה כדוגמת ++C. ה-CLR מספק שירותים לטיפול בנושא של הקצאת זיכרון דינמית. אובייקטים שהוקצו אינם דורשים ניקוי ידני בתום השימוש ויש מערכת של "איסוף זבל" שדואגת לפנות זיכרון של אובייקטים שכבר אינם בשימוש. ראו גםקישורים חיצוניים
הערות שוליים
|