מאפיינים עיקריים של .NET 7 – סקירת תכונות חדשות
בנובמבר 2022, מיקרוסופט שחררה גרסה חדשה של .NET 7, עם שיפור בביצועים ותכונות חדשות רבות עבור C#, ASP.NET Core, Blazor, .NET MAUI, Web APIs, WPF, WinForms ועוד רבים אחרים. בואו נעבור על השינויים המעניינים ביותר.
.NET 7 ממשיך במסלול
.NET היא פלטפורמת המפתחים בקוד פתוח של Microsoft לבניית סוגים שונים של אפליקציות עבור מערכות הפעלה שונות. התשתית ממשיכה להתפתח כפלטפורמת פיתוח מאוחדת לבניית מגוון רחב של אפליקציות שיכולות לפעול במערכות הפעלה שונות, תוך הקלה על המפתחים ללמוד. C# 11 משוחררת יחד עם .NET 7 עם תכונות חדשות נהדרות ושיפורים בביצועים. לגרסה החדשה של .NET יש פוטנציאל רב בתחומים שונים.

מקור: Microsoft .NET conf 2022
אימות הוא חלק חיוני ב-APIs. בשל מורכבותו, גרסה חדשה מציעה תצורת אימות והרשאה מפושטת. אימות מפושט דורש קריאה למתודה אחת בלבד, מה שמקל על עבודת המפתחים.
קונטיינרים הם אחת הדרכים הקלות ביותר לארוז ולשלוח אפליקציות בענן על כל פלטפורמה, ולכן השיפור בתמיכת .NET בקונטיינרים שימושי מאוד. .NET 7 מציע תמיכה מובנית בקונטיינרים, מה שמאפשר ליצור ולפרסם קונטיינרים בקלות באמצעות CLI ללא שימוש בכלים חיצוניים כמו Docker for desktop או אחרים.
ASP.NET Core תומך בפרוטוקולים ובתקנים העדכניים ביותר. עם שחרור .NET 7 נתמכים פרוטוקול HTTP/3 ו-Web Sockets over HTTP/2. כמו כן, נוספה תמיכה ניסיונית חדשה בפרוטוקול WebTransport, שניתן להשתמש בה לריבוב זרמים על אותה חיבור HTTP/3.
קוד C# משותף מועבר בדרך כלל בין הפרויקטים באמצעות Class Library כקובץ .dll או כחבילת nuget. ניתן לשתף רכיבי ASP.NET Core Razor ומודלים של נתונים ב-Razor Class Library, כך שנוכל להשתמש בהם בפרויקטים אחרים והם יכולים לשמש לקוחות Blazor server, WebAssembly ו-.NET MAUI.

לכל המפתחים המשתמשים ב-ASP.NET המעוניינים לעבור ל-ASP.NET Core, קיים כלי חדש ל-Visual Studio בשם Incremental upgrade tool המאפשר העברת נקודות קצה אחת לאחת, כך שנוכל לתחזק ולפתח את הגרסה הישנה תוך כדי השדרוג.
Entity Framework Core 7 – מה חדש?
גרסה חדשה של Entity Framework Core 7 שוחררה עם תמיכה בעמודות JSON, המאפשרת מיפוי אגרגטים הבנויים מטיפוסים למסמכי JSON. התכונה החדשה מספקת את היכולת למפות אגרגט לעמודת JSON במסד הנתונים SQL Server בקריאת מתודה אחת בלבד. אנו יכולים להשתמש בשאילתות LINQ על האגרגטים שיתורגמו לשאילתות SQL כדי להתעמק ב-JSON.
Entity Framework Core 7 עוקב אחר שינויים בישויות, וכאשר נקראת המתודה SaveChanges, הוא מעדכן ישויות ששונו במסד הנתונים. EF7 מציג את המתודות החדשות ExecuteUpdate ו-ExecuteDelete, שיכולות לערוך או למחוק ישויות ללא שימוש ב-change tracker ויפעלו ביעילות רבה יותר.
EF7 גם משפר את הביצועים של שיטות SaveChanges ו-SaveChangesAsync שמייצרות שאילתות SQL מהירות יותר. הגרסה החדשה מציגה תמיכה במיפוי פקודות insert, update ו-delete לנהלים מאוחסנים.
מחרוזות חיבור של SQL Server ב-.NET 7 כוללות ערך ברירת מחדל של Encrypt המוגדר כ-true, בעוד שבגרסאות קודמות ערך ברירת המחדל היה false. הדבר מבטיח שהשרת מוגדר עם תעודה תקפה והלקוח חייב לסמוך על תעודה זו, אחרת תיזרק חריגת SqlException.
.NET Blazor
ישנם שיפורים רבים בבניית Web UI עם ASP.NET Core ו-Blasor. עם Blazor אנו יכולים ליצור Web UI ב-C#, ורכיבים אלה יכולים להיות משותפים בין אפליקציות אינטרנט, מובייל ושולחן עבודה. אנו יכולים להשתמש ברכיבי Blazor באפליקציות קיימות מבוססות JavaScript עם התמיכה החדשה ב-custom elements.
צוות Blazor יצר תכונה חדשה בשם Blazor hybrid המאפשרת לרכיבי Razor לפעול באפליקציית שולחן עבודה (Windows Forms), באינטרנט (WPF) או באפליקציה ניידת מקורית (.NET MAUI). רכיבי Razor אינם פועלים בדפדפן. הם מרונדרים לרכיב Web View מוטמע ויש להם גישה ליכולות המכשיר המקוריות עם סגנונות רכיבים המותאמים לפלטפורמה.
רוב התכונות החדשות יעבדו באותו אופן בכל מודלי האחסון – Blazor server, WebAssembly או היברידי עם .NET MAUI, אך חלק מהתכונות ייחודיות למודל אחסון מסוים.
QuickGrid הוא הפיצ'ר החדש עבור כל מודלי האחסון, הזמין כתצוגה מקדימה. הוא אינו מחליף רשתות אחרות, אלא מספק סט בסיסי של תכונות שיכסה את התרחישים הנפוצים ביותר. QuickGrid תומך בעימוד ובווירטואליזציה, כך שנוכל לעבוד עם כמויות גדולות יותר של נתונים בביצועים טובים.
אלמנטים מותאמים אישית הם תוספת חדשה ומעניינת נוספת המאפשרת רישום רכיבי Blazor כאלמנטים מותאמים אישית שניתן לרנדר בטכנולוגיות אינטרנט אחרות. אנו יכולים להשתמש בתכונה זו עם רינדור בצד הלקוח כמו Angular, React, Vue או דומות, וכן עם רינדור בצד השרת כמו PHP או Rails.
ב-Blaser WebAssembly, קיימים שיפורים משמעותיים בביצועי ה-runtime, שיפורים נעשו באימות המעניקים למפתחים יותר שליטה עליו. התקדמות הטעינה היא גם תכונה חדשה נהדרת שמציגה את התקדמות טעינת האפליקציה כברירת מחדל, דבר שהוא מועיל מאוד למשתמשים בחיבור רשת איטי.
מ-Xamarin ל-.NET MAUI
.NET Multiplatform Application UI framework (MAUI) הוא התפתחות של Xamarin. זוהי פלטפורמה מאוחדת לבניית אפליקציות לקוח מקוריות עבור Windows, Mac, Android ו-iOS עם .NET.
עם שחרור .NET 7, MAUI נתמכת גם בגרסה הקודמת .NET 6. מפתחים יכולים ליצור אפליקציות מבסיס קוד אחד שיכול לפעול ב-Windows, Android, macOS, iOS ו-Tizen OS של Samsung. השינויים הבולטים ביותר בגרסה החדשה ששוחררה הם שיפורי ביצועים, ופתרון בעיות ביצועי פריסה (layout) עם רינדור עמודים מהיר ב-51% וגלילה מהירה יותר. השדרוג של .NET MAUI כולל כעת את כל מה שאנו צריכים כדי לעבור את תהליך הפיתוח – בדיקה – בנייה – הפצה – ניטור.
Xamarin התפתח ל-.NET MAUI ויקבל תמיכה עד מאי 2024. Microsoft ממליצה להעביר יישומים מ-Xamarin Forms ל-.NET MAUI ומ-Xamarin ל-.NET 6 או .NET 7.

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

הפיתוח והתמיכה העתידיים עבור .NET 7
.NET 7 משוחרר כתמיכה סטנדרטית STS ויתמך במשך שישה חודשים לאחר שחרור STS או LTS עוקב.
.NET 8 מתוכנן לצאת בנובמבר 2023 כמהדורת תמיכה ארוכת טווח LTS שתקבל תמיכה חינם לשלוש שנים. לוח זמנים כזה נותן לנו מספיק זמן לגלות תכונות חדשות ומדהימות ולשדרג את האפליקציות שלנו לגרסה החדשה ביותר.

כיסינו רק חלק מהיכולות והפתרונות המדהימים של .NET 7 שיועילו מאוד לכל מפתח שעובד איתו. יש עוד הרבה לגלות, אז קדימה – התנסו בו! התייחסו למאמר זה כמדריך פשוט למסע הצלילה העמוק שלכם ב-.NET 7.
מבט לאחור על Learn & Chill הקרואטי האחרון
רוצים לדעת עוד על האירוע שלנו? כאן תמצאו מידע נוסף וטופס הרשמה.
.NET 7 היא פלטפורמת הפיתוח בקוד פתוח של Microsoft, שיצאה בנובמבר 2022. היא מביאה שיפורי ביצועים ותכונות חדשות ב-C#, ASP.NET Core, Blazor, .NET MAUI, Entity Framework Core ועוד.
שיפורים עיקריים כוללים אימות והרשאה מפושטים (הדורשים קריאה אחת בלבד לשיטה), תמיכה מובנית בקונטיינרים ללא צורך בכלים חיצוניים כמו Docker Desktop, ותמיכה ב-HTTP/3, WebSockets over HTTP/2 ופרוטוקול WebTransport הניסיוני.
EF Core 7 מציג מיפוי עמודות JSON, המאפשר לאחסן אגרגטים כמסמכי JSON ב-SQL Server ולשאול אותם באמצעות LINQ. הוא גם מוסיף מתודות ExecuteUpdate ו-ExecuteDelete לפעולות מסד נתונים יעילות יותר ללא ה-change tracker, וכן תמיכה בנהלים מאוחסנים וביצועי SaveChanges מהירים יותר.
כן. מחרוזות חיבור של SQL Server כעת מציבות את Encrypt כברירת מחדל כ-true (בעבר false). המשמעות היא שלשרת חייב להיות תעודה תקפה והלקוח חייב לסמוך עליה, אחרת תיזרק SqlException.
תוספות בולטות כוללות את Blazor Hybrid (הרצת רכיבי Razor באפליקציות דסקטופ ומובייל נייטיביות באמצעות .NET MAUI), את רכיב QuickGrid עבור עימוד ווירטואליזציה, תמיכה ברכיבים מותאמים אישית לשילוב רכיבי Blazor באפליקציות Angular, React, Vue, PHP או Rails, ושיפורי ביצועים ב-Blazor WebAssembly.
.NET MAUI (Multiplatform Application UI) הוא האבולוציה של Xamarin, המאפשר למפתחים לבנות אפליקציות נייטיב עבור Windows, macOS, Android, iOS ו-Tizen מבסיס קוד אחד. .NET 7 מביא שיפורי ביצועים משמעותיים ל-MAUI, כולל רינדור עמודים מהיר ב-51%. Xamarin יקבל תמיכה עד מאי 2024, ו-Microsoft ממליצה לעבור ל-.NET MAUI.
נעזור לך לבחור את הטכנולוגיה המתאימה ביותר לפתרון שלך. צור קשר עם המומחה שלנו.
arrow_circle_right המאמרים שלנו