الخصائص الرئيسية لـ .NET 7 – نظرة عامة على الميزات الجديدة
في نوفمبر 2022، أصدرت Microsoft إصدارًا جديدًا من .NET 7، مع تحسين في الأداء والعديد من الميزات الجديدة لـ C# وASP.NET Core وBlazor و.NET MAUI وWeb APIs وWPF وWinForms وغيرها الكثير. دعنا نستعرض التغييرات الأكثر إثارة للاهتمام.
.NET 7 يبقى على المسار الصحيح
.NET هي منصة المطورين مفتوحة المصدر من Microsoft لبناء أنواع مختلفة من التطبيقات لأنظمة تشغيل متعددة. يواصل إطار العمل تطوره كمنصة تطوير موحدة لبناء مجموعة واسعة من التطبيقات التي يمكن تشغيلها على أنظمة تشغيل مختلفة مع تسهيل عملية التعلم على المطورين. تم إصدار C# 11 إلى جانب .NET 7 مع ميزات جديدة رائعة وتحسينات في الأداء. تتمتع النسخة الجديدة من .NET بإمكانات كبيرة في مجالات مختلفة.

المصدر: مؤتمر Microsoft .NET 2022
تُعد المصادقة جزءًا أساسيًا من واجهات برمجة التطبيقات (APIs). ونظرًا لتعقيدها، يقدم إصدار جديد تكوينًا مبسّطًا للمصادقة والتفويض. وتتطلب المصادقة المبسّطة استدعاء طريقة واحدة فقط، مما يسهّل عمل المطورين.
تُعد الحاويات (Containers) واحدة من أسهل الطرق لتجميع التطبيقات وشحنها في السحابة على أي منصة، لذا فإن تحسين دعم .NET للحاويات مفيد جداً. يوفر .NET 7 دعماً مدمجاً للحاويات، مما يجعل من الممكن إنشاء الحاويات ونشرها بسهولة باستخدام CLI دون استخدام أدوات خارجية مثل Docker for desktop أو غيرها.
يدعم ASP.NET Core أحدث البروتوكولات والمعايير. مع إصدار .NET 7، أصبح بروتوكول HTTP/3 وWeb Sockets عبر HTTP/2 مدعومين. كما أُضيف دعم تجريبي جديد لبروتوكول WebTransport ويمكن استخدامه لتعدد إرسال التدفقات عبر اتصال HTTP/3 نفسه.
عادةً ما تتم مشاركة كود C# الشائع بين المشاريع من خلال مكتبة الفئات (Class Library) كملف .dll أو حزمة nuget. يمكن مشاركة مكونات ASP.NET Core Razor ونماذج البيانات في مكتبة فئات Razor بحيث يمكن استخدامها في مشاريع أخرى واستهلاكها من قبل عملاء Blazor server وWebAssembly و.NET MAUI.

لجميع المطورين الذين يستخدمون ASP.NET ويرغبون في الانتقال إلى ASP.NET Core، هناك أداة جديدة لـ Visual Studio تُسمى أداة الترقية التدريجية، تتيح ترحيل نقاط النهاية واحدة تلو الأخرى، حتى نتمكن من صيانة الإصدار القديم وتطويره أثناء الترقية.
Entity Framework Core 7 – ما الجديد؟
صدرت نسخة جديدة من Entity Framework Core 7 مع دعم أعمدة JSON، مما يتيح تعيين الكيانات المجمّعة المبنية من الأنواع إلى مستندات JSON. توفر الميزة الجديدة إمكانية تعيين الكيان المجمّع إلى عمود JSON في قاعدة بيانات SQL Server باستدعاء طريقة واحدة فقط. يمكننا استخدام استعلامات LINQ على الكيانات المجمّعة التي ستُترجم إلى استعلامات SQL للتعمق في بيانات JSON.
يتتبع Entity Framework Core 7 التغييرات التي تطرأ على الكيانات، وعند استدعاء أسلوب SaveChanges، يقوم بتحديث الكيانات المعدّلة في قاعدة البيانات. يقدم EF7 أسلوبين جديدين هما ExecuteUpdate وExecuteDelete، واللذان يمكنهما تعديل أو حذف الكيانات دون استخدام متتبع التغييرات وسيعملان بكفاءة أعلى.
يحسّن EF7 أيضاً أداء طريقتي SaveChanges وSaveChangesAsync التي تولد استعلامات SQL أسرع. يقدم الإصدار الجديد دعماً لتعيين أوامر الإدراج والتحديث والحذف إلى الإجراءات المخزنة.
في SQL Server، تكون سلاسل الاتصال في .NET 7 مضبوطة افتراضياً على قيمة Encrypt تساوي true، بينما في الإصدارات السابقة كانت القيمة الافتراضية false. وهذا يضمن تهيئة الخادم بشهادة صالحة، ويتعين على العميل الوثوق بتلك الشهادة، وإلا سيتم رفع استثناء SqlException.
.NET Blazor
هناك العديد من التحسينات في بناء واجهة مستخدم الويب باستخدام ASP.NET Core وBlazor. مع Blazor يمكننا إنشاء واجهة مستخدم ويب بلغة C#، ويمكن مشاركة هذه المكونات عبر تطبيقات الويب والجوال وسطح المكتب. يمكننا استخدام مكونات Blazor في تطبيقات JavaScript الحالية مع دعم العناصر المخصصة الجديد.
أنشأ فريق Blazor ميزة جديدة هي Blazor hybrid التي تتيح تشغيل مكونات Razor في تطبيق سطح مكتب (Windows Forms)، أو الويب (WPF)، أو تطبيق جوال أصلي (.NET MAUI). لا تعمل مكونات Razor في المتصفح. بل يتم عرضها في عنصر تحكم Web View مضمّن ولديها إمكانية الوصول إلى قدرات الجهاز الأصلية مع أنماط مكونات خاصة بكل منصة.
ستعمل معظم الميزات الجديدة بالطريقة نفسها عبر جميع نماذج الاستضافة – خادم Blazor أو WebAssembly أو الهجين مع .NET MAUI، لكن بعض الميزات خاصة بنموذج استضافة معين.
QuickGrid هي الميزة الجديدة لجميع نماذج الاستضافة المتاحة كمعاينة. وهي لا تحل محل الشبكات الأخرى ولكنها توفر مجموعة أساسية من الميزات التي ستغطي السيناريوهات الأكثر شيوعًا. يمكن لـ QuickGrid إجراء الترقيم الافتراضي والمحاكاة الافتراضية، مما يتيح لنا العمل مع كميات أكبر من البيانات بأداء جيد.
العناصر المخصصة هي إضافة جديدة أخرى مثيرة للاهتمام تتيح تسجيل مكونات Blazor كعناصر مخصصة يمكن عرضها في تقنيات ويب أخرى. يمكننا استخدام هذه الميزة مع العرض من جانب العميل مثل Angular وReact وVue أو ما شابه، وكذلك العرض من جانب الخادم مثل PHP أو Rails.
في Blazor WebAssembly، هناك تحسينات كبيرة في أداء بيئة التشغيل، وأُجريت تحسينات في المصادقة تمنح المطورين مزيدًا من التحكم فيها. كما يُعدّ مؤشر تقدم التحميل ميزة جديدة رائعة تُظهر تقدم تحميل التطبيق افتراضيًا، وهو أمر مفيد جدًا للمستخدمين على اتصال شبكة بطيء.
من Xamarin إلى .NET MAUI
إطار عمل واجهة مستخدم التطبيقات متعددة المنصات .NET (MAUI) هو تطور لـ Xamarin. إنه منصة موحدة لبناء تطبيقات العملاء الأصلية لنظامي Windows وMac وAndroid وiOS باستخدام .NET.
مع إصدار .NET 7، أصبح MAUI مدعوماً أيضاً للإصدار السابق .NET 6. يمكن للمطورين إنشاء تطبيقات من قاعدة تعليمات برمجية واحدة يمكن تشغيلها على Windows وAndroid وmacOS وiOS ونظام Tizen OS من سامسونج. أبرز التغييرات في الإصدار الصادر حديثاً هي تحسينات الأداء، وحل مشكلات أداء التخطيط مع عرض صفحات أسرع بنسبة 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 عبر HTTP/2 وبروتوكول WebTransport التجريبي.
يقدم EF Core 7 تعيين أعمدة JSON، مما يسمح بتخزين التجمعات كمستندات JSON في SQL Server والاستعلام عنها عبر LINQ. كما يضيف طريقتي ExecuteUpdate وExecuteDelete لعمليات قاعدة بيانات أكثر كفاءة دون متتبع التغييرات، بالإضافة إلى دعم الإجراءات المخزنة وأداء أسرع لـ SaveChanges.
نعم. أصبحت سلاسل اتصال SQL Server الآن تضبط Encrypt على true افتراضياً (كانت false سابقاً). وهذا يعني أنه يجب أن يكون لدى الخادم شهادة صالحة ويجب أن يثق بها العميل، وإلا سيتم إطلاق SqlException.
تشمل الإضافات البارزة Blazor Hybrid (تشغيل مكونات Razor في تطبيقات سطح المكتب والجوال الأصلية عبر .NET MAUI)، ومكون QuickGrid للترقيم والمحاكاة الافتراضية، ودعم العناصر المخصصة لدمج مكونات Blazor في تطبيقات Angular أو React أو Vue أو PHP أو Rails، وتحسينات الأداء في Blazor WebAssembly.
.NET MAUI (واجهة مستخدم التطبيقات متعددة المنصات) هو تطور Xamarin، ويتيح للمطورين بناء تطبيقات أصلية لنظامي Windows وmacOS وAndroid وiOS وTizen من قاعدة تعليمات برمجية واحدة. يجلب .NET 7 تحسينات كبيرة في أداء MAUI، بما في ذلك عرض صفحات أسرع بنسبة 51%. سيتلقى Xamarin الدعم حتى مايو 2024، وتوصي Microsoft بالانتقال إلى .NET MAUI.
سنساعدك في اختيار التكنولوجيا الأنسب لحلك. تواصل مع خبيرنا.
arrow_circle_right مقالاتنا