## أهم التعديلات والميزات الجديدة في .NET 10 ✨
يُعد **.NET 10** إصدارًا رئيسيًا بدعم طويل الأمد (LTS)، مما يعني أنه سيتلقى الدعم والاستقرار لمدة ثلاث سنوات. تركز التحديثات بشكل عام على **تحسين الأداء** و**إنتاجية المطور** و**الأمان** عبر مختلف جوانب النظام الأساسي.
0799455189
### 🚀 تحسينات الأداء ووقت التشغيل (Runtime)
تم إدخال تحسينات كبيرة في الأداء لزيادة سرعة تنفيذ التطبيقات وتقليل استهلاك الموارد:
* **تحسينات مُجمّع JIT (Just-In-Time):**
* دعم محسّن لتحسينات تجميع JIT، مثل دمج الدوال (Method Inlining) وفك حلقات التكرار (Loop Unrolling)، مما يؤدي إلى تنفيذ أسرع لمسارات الكود المستخدمة بكثرة.
* تمت نمذجة مشكلة إعادة ترتيب الكتل (Block Reordering) كتقليل لمشكلة البائع المتجول غير المتماثل (Asymmetric Travelling Salesman Problem) وتطبيق إرشادية 3-opt للعثور على مسار شبه مثالي، مما يحسّن كثافة المسار الساخن (hot path density) ويقلل مسافات التفرع (branch distances).
*
* **تحسينات تخصيص الذاكرة على المكدس (Stack Allocation):**
* يضيف .NET 10 تخصيص الذاكرة على المكدس للمصفوفات الصغيرة من أنواع القيم (Value Types) والمصفوفات الصغيرة من الأنواع المرجعية (Reference Types).
* يتضمن أيضًا تحليل الهروب (Escape Analysis) للحقول المحلية للهياكل (local struct fields) والمفوضات (delegates)، مما يسمح للمزيد من الكائنات قصيرة الأمد بالعيش على المكدس بدلاً من الكومة (Heap).
* **إلغاء تظاهر أساليب واجهة المصفوفات (De-virtualization of Array Interface Methods):** مما يؤدي إلى تسريع استدعاءات الدوال وتحسين الأداء.
---
### 🌐 تطوير الويب (ASP.NET Core و Blazor)
شهدت أدوات تطوير الويب تحديثات هامة:
* **دعم مفاتيح المرور (Passkeys) في ASP.NET Core Identity:** أصبح دعم مفاتيح المرور، وهي بيانات اعتماد مقاومة للتصيد الاحتيالي ومرتبطة بتطبيق المصادقة الخاص بك، مدمجًا مباشرة في ASP.NET Core Identity.
* **تحسينات Blazor:**
* تحسين تجربة **Hot Reload** بشكل كبير لتطوير تطبيقات Blazor.
* ميزة **Persistent Blazor State** التي تساعد في الحفاظ على الحالة (State) عند قطع اتصال المستخدم وإعادة اتصاله بتطبيق Blazor Server.
* تحسينات في أمان **Blazor Web App** ودعم أفضل لـ **OpenID Connect (OIDC)** و **Microsoft Entra ID**.
* تحسينات أداء Blazor WebAssembly وتقليل حجم ملف `blazor.web.js`.
* **دعم Server-Sent Events (SSE):** إتاحة دعم الأحداث المرسلة من الخادم (SSE) بشكل أصلي في Minimal APIs، مما يسمح بتدفق الأحداث أحادي الاتجاه من الخادم إلى العميل دون الحاجة لـ SignalR في بعض الحالات.
* **دعم OpenAPI 3.1:** في ASP.NET Core 10، مما يحاذي مع مسودة مخطط JSON 2020-12 ويجعل توثيق API أكثر دقة وهيكلة.
0799455189
### ⚙️ تحديثات C# 14
يتزامن إصدار .NET 10 مع إصدار **C# 14**، الذي يقدم ميزات لزيادة الإنتاجية:
* **عوامل التعيين الشرطية الفارغة (Null-Conditional Assignments):** باستخدام المعامل `?.=`.
* **خصائص مدعومة بحقول (Field-Backed Properties):** باستخدام الكلمة السياقية `field` للوصول إلى الحقل المدعوم الذي تم إنشاؤه بواسطة المترجم.
* **أعضاء الامتداد (Extension Members):** دعم أساليب الامتداد الثابتة والخصائص الثابتة وخصائص الامتداد (Static Extension Methods and Properties).
---
### 💻 .NET MAUI وتطوير الأجهزة المحمولة
* **تحسينات الأداء في .NET MAUI:** يستخدم .NET MAUI في .NET 10 ذاكرة أقل ورسمًا (Render) أسرع، مما يجعل الرسوم المتحركة والانتقالات أكثر جاذبية.
* **تحسينات Android عامة:** يمكن لـ .NET for Android الآن البناء باستخدام **JDK 21** وتحسين أداء بدء التشغيل.
---
### 🛠️ تحسينات SDK والأدوات
* **تحسين إدارة التبعيات (Dependency Management):** يزيل .NET 10 SDK الإشارات غير الضرورية لحزم الإطار (framework-provided package references)، مما يحسّن أوقات البناء ويقلل استخدام مساحة القرص.
* **تحسين NuGet Auditing:** توسيع نطاق تدقيق NuGet ليشمل التبعيات العابرة (transitive dependencies)، مما يوفر صورة أشمل لأمان المشروع.
---
### 📚 تحديثات المكتبات الأساسية (Core Libraries)
* **تحسينات التسلسل JSON (JSON Serialization):** تحسينات في كيفية قراءة JSON، حيث تم تحديث MVC وMinimal APIs للقراءة مباشرة من `PipeReader`.
* **معالجة التواريخ والنصوص:** تسهيل التعامل مع التواريخ (الحساب والتنسيق) باستخدام الفئة **`ISOWeek`** التي تعمل بسلاسة مع **`DateOnly`**.
0799455189