الإجابة المختصرة: Blazor في 2026 خيار ناضج لبناء تطبيقات الأعمال بلغة C# فقط: نفس المكونات تعمل كتطبيق ويب، وكتطبيق سطح مكتب داخل Windows عبر Blazor Hybrid في WPF أو Windows Forms أو .NET MAUI. الإصدار الحالي طويل الدعم .NET 10 مدعوم حتى نوفمبر 2028، بينما يضيف .NET 11 القادم في نوفمبر 2026 تحققًا غير متزامن في النماذج، وتحسينات كبيرة على QuickGrid وVirtualize، ومكونات تجريبية لواجهات الذكاء الاصطناعي.
ما هو Blazor ولماذا يهم تطبيقات الأعمال؟
Blazor هو إطار واجهات من Microsoft ضمن ASP.NET Core، يتيح كتابة واجهات تفاعلية بمكونات Razor ولغة C# بدل الاعتماد الكامل على JavaScript. بالنسبة لأنظمة الأعمال (محاسبة، مخزون، مبيعات، موارد بشرية) تكمن القيمة في ثلاث نقاط:
- لغة واحدة من قاعدة البيانات إلى الشاشة: نفس نماذج البيانات وقواعد التحقق تُستخدم في الخادم والواجهة.
- مكونات قابلة لإعادة الاستخدام: شاشة الفاتورة أو بطاقة الصنف تُكتب مرة واحدة وتعمل في الويب وسطح المكتب.
- نظام .NET الكامل: EF Core وSQL Server والتقارير والمكتبات الجاهزة.
أنماط التشغيل: كيف تختار؟
منذ .NET 8 يوفر قالب Blazor Web App أنماط عرض متعددة يمكن مزجها داخل التطبيق الواحد:
| النمط | أين يعمل الكود | متى يناسب تطبيقات الأعمال |
|---|---|---|
| Static SSR | الخادم، يرسل HTML جاهزًا | صفحات العرض والتقارير والبوابات العامة والنماذج البسيطة |
| Interactive Server | الخادم عبر اتصال SignalR | الأنظمة الداخلية على شبكة مستقرة مع بيانات حساسة تبقى على الخادم |
| Interactive WebAssembly | متصفح المستخدم | شاشات كثيفة التفاعل وتقليل الضغط على الخادم |
| Interactive Auto | الخادم أولًا ثم المتصفح | تحميل أولي سريع مع تفاعل محلي لاحقًا |
| Blazor Hybrid | تطبيق أصلي على الجهاز داخل WebView | تطبيقات سطح المكتب وWindows والأجهزة المحمولة |
Blazor لسطح المكتب: Blazor Hybrid
في Blazor Hybrid تعمل مكونات Razor أصليًا على الجهاز وتُعرض داخل عنصر WebView مضمّن عبر قناة اتصال محلية، ولا يدخل WebAssembly ولا المتصفح في الصورة. وتستضيف هذه المكونات ثلاثة أطر:
- .NET MAUI عبر BlazorWebView لتطبيق واحد على Windows وmacOS وAndroid وiOS.
- WPF عبر الحزمة Microsoft.AspNetCore.Components.WebView.Wpf.
- Windows Forms عبر الحزمة Microsoft.AspNetCore.Components.WebView.WindowsForms.
الميزة العملية: المكونات تصل إلى إمكانات الجهاز الكاملة عبر .NET، مثل الطابعات المحلية وملفات النظام والأجهزة الطرفية. وهذا مسار مناسب لتحديث تطبيقات WinForms أو WPF القديمة تدريجيًا: تضيف شاشات Blazor حديثة داخل التطبيق القائم بدل إعادة كتابته دفعة واحدة. ومع .NET 11 تنتقل تطبيقات MAUI على Android وiOS وMac Catalyst إلى CoreCLR.
الجديد في Blazor مع .NET 11
النماذج والتحقق
- تحقق من جهة العميل في Static SSR مفعّل افتراضيًا للنماذج التي تحتوي DataAnnotationsValidator، مع بقاء نموذج .NET مصدر الحقيقة.
- تحقق غير متزامن عبر AsyncValidationAttribute وIAsyncValidatableObject، مثل التحقق من عدم تكرار رقم ضريبي في قاعدة البيانات أثناء الإدخال.
- مكوّن DisplayName لعرض تسميات الحقول من سمات Display، وهو مفيد للواجهات ثنائية اللغة.
- مع .NET 11 أصبح توطين رسائل التحقق مدمجًا في Minimal APIs.
الجداول والبيانات الكبيرة
- QuickGrid يدعم الترقيم والفرز عبر معاملات الرابط ويعمل في Static SSR، مع حدث OnRowClick عند النقر على الصف.
- Virtualize يدعم عناصر متفاوتة الارتفاع، والتمرير إلى عنصر محدد عبر ScrollToItemAsync، ورفع OverscanCount الافتراضي من 3 إلى 15.
الحالة والأداء والأمان
- دعم TempData والجلسة في Static SSR عبر SupplyParameterFromTempData وSupplyParameterFromSession.
- إيقاف دوائر Blazor Server مؤقتًا عند خمول التبويب (اختياري)، ما يخفف استهلاك موارد الخادم.
- تحديث صلاحيات المستخدم داخل الدائرة دون إعادة الاتصال بعد تجديد المصادقة.
- حماية CSRF تلقائية دون الحاجة إلى UseAntiforgery في قالب Blazor Web App.
- مخرجات WebAssembly أصغر بإزالة مسارات غير مستخدمة.
- الخدمات الخلفية IHostedService تعمل الآن داخل Blazor WebAssembly.
مكونات الذكاء الاصطناعي (تجريبية)
تقدم الحزمة التجريبية Microsoft.AspNetCore.Components.AI مكونات جاهزة لواجهة محادثة مثل ChatPage وMessageList وMessageInput تعمل فوق أي IChatClient، مع كتل لموافقة المستخدم على استدعاء الأدوات (FunctionApprovalBlock). وهذه بداية واعدة لإضافة مساعد ذكي داخل شاشات النظام، لكنها ما زالت في مرحلة ما قبل الإصدار.
تجربة تطوير أسهل
- قالب جديد blazor-wasm-servicedefaults لربط تطبيقات Blazor WebAssembly مع Aspire للمراقبة والإعدادات الموحدة.
- حزمة Microsoft.AspNetCore.Components.Gateway بديلًا لخادم التطوير السابق لتطبيقات WebAssembly المستقلة.
- مكوّن EnvironmentView لعرض محتوى حسب البيئة (تطوير أو إنتاج)، ومكوّن CacheView لتخزين مخرجات أجزاء من الصفحة مؤقتًا في Static SSR.
- خيار دعم الحاويات (Containers) مباشرة في قالب Blazor Web App داخل Visual Studio.
تحديث تطبيقات Windows القديمة خطوة بخطوة
لدى كثير من الشركات أنظمة داخلية مكتوبة بـ Windows Forms أو WPF منذ سنوات، تعمل جيدًا لكن تطويرها أصبح بطيئًا ومظهرها قديمًا. بدل إعادة الكتابة الكاملة، يمكن اتباع مسار تدريجي:
- ترقية المشروع إلى .NET حديث (مثل .NET 10) إن كان ما زال على .NET Framework أو إصدار منتهي الدعم.
- إضافة BlazorWebView داخل نافذة قائمة لعرض شاشة جديدة مكتوبة بـ Blazor، مثل لوحة مؤشرات أو شاشة تقارير.
- نقل منطق الأعمال إلى مكتبة مشتركة يستخدمها التطبيق القديم والشاشات الجديدة معًا.
- إعادة استخدام نفس المكونات في نسخة ويب لاحقًا، فيحصل الفرع البعيد على نفس الشاشة عبر المتصفح.
بهذه الطريقة يستمر العمل اليومي دون توقف، ويتحول النظام تدريجيًا إلى معمارية حديثة.
أي إصدار تختار لمشروعك في 2026؟
- نظام إنتاجي يبدأ الآن ويُتوقع أن يعيش سنوات: .NET 10 LTS المدعوم حتى 14 نوفمبر 2028.
- مشروع يحتاج التحقق غير المتزامن أو تحسينات QuickGrid الجديدة: .NET 11 بعد إطلاقه في نوفمبر 2026، مع العلم أنه إصدار STS بدعم سنتين.
- تطبيقات على .NET 8: ينتهي دعمها في 10 نوفمبر 2026، فالترقية أولوية.
ماذا يعني هذا للشركات السعودية؟
كثير من المنشآت تحتاج أن يعمل النظام في المكتب على جهاز Windows، وفي الفرع عبر المتصفح، وأحيانًا مع انقطاع الإنترنت. معمارية Blazor تسمح بمشاركة الواجهة بين هذه السيناريوهات، ما يقلل تكلفة التطوير والصيانة. كما أن دعم الواجهات من اليمين إلى اليسار يتم عبر HTML وCSS المعتادين، فلا قيود خاصة على الواجهات العربية. وعند بناء أي تطبيق أعمال، تبقى متطلبات السوق المحلي هي الأساس: الفوترة الإلكترونية من ZATCA، وضريبة القيمة المضافة 15%، والتقارير باللغة العربية.
قائمة تحقق قبل البدء بمشروع Blazor
- حدد المستخدمين: داخل الشبكة، أم عبر الإنترنت، أم على أجهزة ميدانية.
- اختر نمط العرض لكل جزء من التطبيق بدل نمط واحد للجميع.
- صمم طبقة البيانات (EF Core وSQL Server) بحيث تخدم الويب وسطح المكتب.
- خطط للتكامل مع نظام المحاسبة والفوترة الإلكترونية منذ اليوم الأول.
- اعتمد .NET 10 LTS للإنتاج ما لم تكن هناك ميزة في .NET 11 تحتاجها فعلًا.
كيف يساعدك فريق Riv-ERP؟
يقدم Riv-ERP نظام ERP ومحاسبة سعوديًا سحابيًا متوافقًا مع ZATCA، ويقدم RivDesktop بترخيص دائم يعمل على Windows والويب والسحابة، أونلاين وأوفلاين. وإلى جانب ذلك يبني الفريق حلولًا مخصصة بتقنيات .NET وC# وSQL Server وBlazor، فمؤسس الشركة مطوّر في هذه التقنيات والفريق يمتلك خبرة تتجاوز 20 عامًا. إذا كنت تفكر في تطبيق أعمال مخصص لشركتك أو تحديث نظام Windows قديم، اطلب عرض سعر أو راسلنا عبر واتساب 966552007190+.
المصادر: ما الجديد في ASP.NET Core وBlazor مع .NET 11، Blazor Hybrid على Microsoft Learn، سياسة دعم .NET.
مقالات ذات صلة
الأسئلة الشائعة
هل يصلح Blazor لبناء نظام ERP كامل؟
نعم، فهو يوفر مكونات قابلة لإعادة الاستخدام، وجداول بيانات مثل QuickGrid مع Virtualize للبيانات الكبيرة، وتحققًا متقدمًا في النماذج، ويتكامل مباشرة مع EF Core وSQL Server.
هل يمكن تشغيل تطبيق Blazor على سطح المكتب؟
نعم عبر Blazor Hybrid، حيث تُستضاف مكونات Razor داخل BlazorWebView في .NET MAUI أو WPF أو Windows Forms وتعمل أصليًا على الجهاز دون WebAssembly.
ما الفرق بين Interactive Server وWebAssembly؟
في Interactive Server يعمل الكود على الخادم وتصل التحديثات عبر SignalR، فيحتاج اتصالًا مستمرًا. أما WebAssembly فيعمل داخل متصفح المستخدم بعد تنزيل التطبيق، ما يخفف الحمل على الخادم.
هل أبدأ مشروعي على .NET 10 أم .NET 11؟
للأنظمة الإنتاجية طويلة العمر، .NET 10 LTS هو الخيار الآمن حتى نوفمبر 2028. اختر .NET 11 إذا احتجت ميزاته الجديدة مثل التحقق غير المتزامن في النماذج وتقبّلت دعمًا لمدة سنتين.
هل مكونات Blazor للذكاء الاصطناعي جاهزة للإنتاج؟
ليس بعد. الحزمة Microsoft.AspNetCore.Components.AI تجريبية وما قبل الإصدار، ومناسبة للنماذج الأولية وتجارب المساعدات الذكية.
هل يبني فريق Riv-ERP تطبيقات Blazor مخصصة؟
نعم، يبني الفريق حلولًا مخصصة بتقنيات .NET وC# وSQL Server وBlazor، ويمكن مناقشة نطاق مشروعك وتقديم عرض سعر بعد التواصل.
