מהי .NET Framework? התשובה של מיקרוסופט לג'אווה

מהי .NET Framework? מוגדר .NET

 .NET היא מסגרת לפיתוח תוכנה - ומערכת אקולוגית נלווית של כלים, שפות וזמני ריצה - שנוצרה על ידי מיקרוסופט בכדי להקל על פיתוח אפליקציות בפלטפורמות שונות, החל משולחן העבודה וכלה במכשירים ניידים. אף על פי ש- NET (מבוטא נקודה נטית, ולפעמים נכתב כמו .Net) נקשר במקור למערכת ההפעלה והפלטפורמות Windows הקנייניות של מיקרוסופט כשהושקה בתחילת שנות ה -24, ניתן כעת לכתוב יישומי NET עבור האינטרנט, MacOS, iOS. , אנדרואיד, לינוקס ועוד - ו- .NET הוא תקן רשמי וזמין רשמית כמקור פתוח.

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

המרכיבים העיקריים של .NET Framework

מסגרת .NET קיימת כמעט 20 שנה ועברה שינויים רבים, כאשר רכיבים הושלכו והופחתו מאוחר יותר לאורך זמן זה. נכון לעכשיו, יש שלוש שכבות עיקריות ל- .NET:

  • הספרייה הסטנדרטית של .NET כוללת את הרכיבים שיהוו תשתית כמעט לכל יישום שתכתוב - שיעורים וסוגים המסייעים לביצוע משימות יום יומיות כמו התמודדות עם מחרוזות ופרימיטיביים, יצירת חיבורי בסיס נתונים, ביצוע קלט / פלט פעולות וכן הלאה.
  • דגמי אפליקציות אופציונליים מכילים קוד אינסטלציה לפלטפורמות השונות בהן אתה יכול לפרוס את יישום ה- NET שלך. ישנם מספר דגמי אפליקציות עבור יישומי Windows (מורשת מהקשר ההדוק של .NET עם מערכת הדגל המתהווה של מיקרוסופט) ועבור פלטפורמות אחרות גם כן: ASP.NET ליישומי אינטרנט למשל, ודגמים עבור ה- Mac ושונות. פלטפורמות ניידות.
  • התשתית המשותפת היא שכבת הבסיס של רכיבים מאפשרים האקולוגי כול בעצם לבצע בפועל, החל מהדרים לשפות לרכיבי ריצה. אלה חיוניים להבנת מה שיש ל- .NET להציע, לכן נבחן אותם ביתר פירוט בסעיפים הבאים. 

כיצד פועלת .NET Framework

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

קוד שנכתב באחת משפות ה- .NET (עליהן עוד רגע) מחובר לשפת ביניים של קוד קוד הנקראת שפת Common Intermediate , או CIL. קוד CIL אינו קריא לאדם, אך ניתן להעביר אותו למערכות הפעלה ופלטפורמות. לאחר מכן ה- CIL נערך שוב על ידי זמן השפה המשותף , או CLR. יישומי CLR הם ספציפיים לפלטפורמה, והם מרכיבים קוד CIL לקוד קריא למכונה שניתן לבצע בפלטפורמה של הרגע. גרסאות CLR שונות תומכות בהידורים בדיוק בזמן ובמועד.

בתהליך יצירת קוד מקומי לקריאה במכונה, ה- CLR גם מנהל הרבה פונקציונליות של יישומים ברמה נמוכה, כמו איסוף אשפה והשחלה, שהיא קריטית לביצועי האפליקציה, אך לעתים קרובות מייגעת עבור מפתחים להתמודד איתה. יחד, ה- CIL וה- CLR מהווים את תשתית ה- .NET Common Language (CLI, וכן, אנו יודעים שכל הקיצורים הללו דומים ומעט מבלבלים).

כל זה אמור להישמע מוכר לכל מי שעבד עם פלטפורמת הג'אווה, מכיוון שהוא עוקב אחר אותה פרדיגמה בסיסית - ספריות הכיתה הגדולות הזמינות, קוד הבינוני המתווך וזמן הריצה הספציפי לפלטפורמה שמאפשר ניהול זיכרון אוטומטי הם כל המאפיינים של שתי ההיצע. .NET פותח בסוף שנות ה -90, בתקופת הזוהר הראשונית של Java, ומוצב במקור כמתחרה לפלטפורמת Java Enterprise Edition; שפת Java ו- C #, שפת ה- NET הראשונה והבולטת, נגזרות מ- C והן דומות מבחינה סמנטית.

מהן שפות התכנות .NET?

C #, שהוכרזה בקול תרועה רמה עם השקת .NET בשנת 2000, היא שפת התכנות המפורסמת והנפוצה ביותר .NET. הוא פותח באופן פנימי על ידי מיקרוסופט כחלק מיוזמת .NET, ורוב השיעורים בספרייה הסטנדרטית של .NET כתובים ב- C #. השפה מכוונת לעצמים והיא מתוכננת להיות דומה מספיק ל- C כדי שיהיה קל למפתחי C, C ++, Java ו- JavaScript ללמוד ולהשתמש בה במהירות.

מיקרוסופט כרגע מקדימה גם שתי שפות תכנות אחרות בהן ניתן להשתמש כדי לכתוב עבור .NET Framework. האחת היא F #, שפת תכנות פונקציונלית שהיא חלק ממשפחת השפות ML, שבסופו של דבר שורשיה ב- LISP; השנייה היא Visual Basic, שפת התכנות הנכבדה והנחמדה של מיקרוסופט לפיתוח יישומי שרת לקוחות. אך אלה הם רק קצה הקרחון: מכיוון ש- NET מורכב מסטנדרטים פתוחים, כל אחד יכול לכתוב שפה שמתאספת לקוד הקודים של CIL וניתן לבצע אותה על ידי ה- CLR. בויקיפדיה יש רשימה של יותר מ -20 פרויקטים של שפות CLI המתוחזקות כיום. כמעט כולם מייצגים יציאות .NET של שפות קיימות, מפסקל ועד JavaScript ואפילו ל- COBOL.

העובדה שמגוון זה של שפות יכול להתקיים יחד בתוך .NET Framework היא אחת מנקודות החוזק של הפלטפורמה. מכיוון שהקוד כולו מתאסף ל- CIL bytecode, ל- .NET לא ממש אכפת באיזו שפה אתה כותב אותו; אתה יכול לבחור שפה על פי העדפותיך האישיות, נקודות החוזק והחולשה השונות של כל שפה, או ההיבטים השונים של .NET Framework שכל שפה מעניקה לך גישה אליהן (ישנן כמה וריאציות כאן). כאמור, רוב הספרייה הסטנדרטית נכתבה ב- C #, אך זה לא מונע ממך לגשת לשיעורים אלה מקוד שנכתב בשפות CLI אחרות. ואכן, רכיבים הכתובים בשפות CLI שונות יכולים לפעול באופן חופשי בין יישום .NET.

.NET Framework לעומת .NET Core (ומחוצה לה) 

תבחין שהשתמשנו ב- .NET Framework לאורך מאמר זה בכדי להתייחס לפלטפורמה באופן כללי. באופן קפדני, זה לא נכון: מיקרוסופט משתמשת בביטוי הזה כדי להתייחס ליישום הוותיק שלהם של .NET Standard, שמתמקד באופן בלעדי ב- Windows. מבחינה היסטורית היו יישומים אחרים של .NET; אחד המפורסמים ביותר הוא מונו, יישום קוד פתוח שפורסם לראשונה בשנת 2004 ואפשר להריץ יישומי .NET בלינוקס. (השחרור עורר מחלוקת מסוימת, מכיוון שזה היה העידן שבו עדיין היה לא מעט דם רע בין מיקרוסופט לקהילת הקוד הפתוח.) מונו מהווה כעת את הבסיס לפלטפורמת Xamarin, המאפשרת לבנות .NET יישומים עבור iOS, Android ו- MacOS וכן לינוקס. קסמארין החל את חייו כראש פרי מוחם של מייסדי מונו,אך החברה שהקימו כדי לתמוך בפרויקט נרכשה בסופו של דבר על ידי מיקרוסופט.

ההטמעה השלישית העיקרית של .NET ממיקרוסופט היא .NET Core, יישום חוצה פלטפורמות של .NET Standard ששוחרר כמקור פתוח בשנת 2016.. NET Core נבנה טרי מהיסוד והסיר חלק מהשבר שהצטבר. ב- .NET Framework, אם כי חסר גם כל מגוון התכונות. לאחר גרסאות מרובות של תקן .NET, כולן ממיקרוסופט, מובן מביך מעט. בשנת 2017, כתב הטורים סיימון ביסון התחבט בשאלה באיזה יישום יש להשתמש באילו הקשרים.

אבל כל זה ישתנה בעתיד הלא רחוק. בנובמבר 2020, מיקרוסופט מתכוונת לאחד את שלושת היישומי .NET כ- .NET 5. .NET 5 יהיה בעצם הדור הבא של .NET Core, עם הרבה רכיבים מה- NET Framework ו- Xamarin שיגלגלו אליו. עם זאת, מספר ממשקי API של .NET Framework לא יעשו את המסע אל .NET 5. המהלך נועד לפשט דברים עבור מפתחים ולמקד את המאמצים של מיקרוסופט עצמה.

איזו .NET Framework יש לי?

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

למה משמש .NET? 

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

הורד את .NET Framework

מוכן להתחיל להתנסות ב- .NET? הורד את .NET Framework (עבור Windows) או .NET Core (עבור Windows, Linux או MacOS) מאתר האינטרנט של מיקרוסופט; תמונות דוקר זמינות גם כן. אתה יכול למצוא את Xamarin עבור iOS ו- Android ב- GitHub. סיור שמח!