.NET Framework
מפתח מיקרוסופט
מחזור חיים 13 בפברואר 2002 – הווה (22 שנים)
גרסה אחרונה 4.8.1 (9 באוגוסט 2022) עריכת הנתון בוויקינתונים
מערכת הפעלה Microsoft Windows
סוג רישיון Proprietary; FCL under Microsoft Reference Source License
קטגוריה שכבת תוכנה
dotnet.microsoft.com/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 וסביבות כמו דלפי, מאפשרים עבודה בסביבה זו.

יכולות ומרכיבים עיקריים

סקירה חזותית של ה-CLI

פריסה ושכיחות

מיקרוסופט הגישה את טכנולוגיית .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.

גרסאות

גרסה מספר גרסה תאריך הפצה ויז'ואל סטודיו מופץ כברירת מחדל במערכת ההפעלה
1.0 1.0.3705.0 13 בפברואר 2002 Visual Studio .NET ללא
1.1 1.1.4322.573 24 באפריל 2003 Visual Studio .NET 2003 Windows Server 2003
2.0 2.0.50727.42 7 בנובמבר 2005 Visual Studio 2005 Windows Server 2003 R2
3.0 3.0.4506.30 6 בנובמבר 2006 Windows Vista, Windows Server 2008
3.5 3.5.21022.8 19 בנובמבר 2007 Visual Studio 2008 Windows 7, Windows Server 2008 R2
4.0 4.0.30319.0 12 באפריל 2010 Visual Studio 2010 ללא
4.5 4.5.50709.17929 15 באוגוסט 2012 Visual Studio 2012 Windows 8, Windows Server 2012
4.5.1 17 באוקטובר 2012 Visual Studio 2013 Windows 8.1, Windows Server 2012 R2
4.5.2 5 במאי 2014 Visual Studio 2015
4.6 20 ליולי 2015 חלונות 10
4.6.1 30 לנובמבר 2015
4.6.2 2 לאוגוסט 2016 Visual Studio 2017
4.7 5 לאפריל 2017
4.7.1 17 לאוקטובר 2017
4.7.2 30 לאפריל 2018
4.8 18 לאפריל 2019 Visual Studio 2019

בשנת 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 מספק שירותים לטיפול בנושא של הקצאת זיכרון דינמית. אובייקטים שהוקצו אינם דורשים ניקוי ידני בתום השימוש ויש מערכת של "איסוף זבל" שדואגת לפנות זיכרון של אובייקטים שכבר אינם בשימוש.

ראו גם

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

מיזמי קרן ויקימדיה ספר לימוד בוויקיספר: NET תמונות ומדיה בוויקישיתוף: .NET Framework

הערות שוליים