Blazor 0.8.0 الإصدار التجريبي متوفر الآن

Blazor 0.8.0 متوفر الآن! يقوم هذا الإصدار بتحديث برنامج Blazor لاستخدام مكونات Razor في .NET Core 3.0 ويضيف بعض إصلاحات الأخطاء الهامة.


احصل على Blazor 0.8.0


للبدء في Blazor 0.8.0 ، قم بتثبيت ما يلي:


  1. .NET Core 3.0 Preview 2 SDK (3.0.100-preview-010184)
  2. مرئي Studio 2019 (المعاينة 2 أو الأحدث) مع تحديد عبء العمل ASP.NET وتطوير الويب .
  3. أحدث Blazor التمديد من Visual Studio Marketplace.
  4. قوالب Blazor على سطر الأوامر:


    dotnet new -i Microsoft.AspNetCore.Blazor.Templates::0.8.0-preview-19104-04 

يمكنك العثور على تعليمات البدء والمستندات والبرامج التعليمية لبرنامج Blazor على https://blazor.net .


الترقية إلى Blazor 0.8.0


لترقية تطبيقات Blazor الحالية إلى Blazor 0.8.0 أولاً ، تأكد من تثبيت المتطلبات المسبقة المذكورة أعلاه.


لترقية مشروع Blazor 0.7.0 المستقل إلى 0.8.0:


  • قم بتحديث حزم Blazor ومراجع أداة .NET CLI إلى 0.8.0-preview-19104-04.
  • استبدال أي مرجع الحزمة إلى Microsoft.AspNetCore.Blazor.
  • استبدال BlazorComponent مع ComponentBase .
  • تحديث تخطيات SetParameters على المكونات لتجاوز SetParametersAsync بدلاً من ذلك.
  • استبدال BlazorLayoutComponent مع LayoutComponentBase
  • استبدال IBlazorApplicationBuilder بـ IBlazorApplicationBuilder .
  • استبدال أي استخدام عبارات لـ Microsoft.AspNetCore.Blazor.* مع Microsoft.AspNetCore.Components.* ، باستثناء ترك Microsoft.AspNetCore.Blazor.Hosting في Program.cs
  • في index.html قم بتحديث مرجع البرنامج النصي إلى مرجع component.webassembly.js بدلاً من blazor.webassembly.js

لترقية تطبيق ASP.NET Core استضافته Blazor إلى 0.8.0:


  • قم بتحديث مشروع Blazor من جانب العميل كما هو موضح سابقًا.
  • قم بتحديث تطبيق ASP.NET Core الذي يستضيف تطبيق Blazor على .NET Core 3.0 باتباع خطوات الترحيل في مستندات ASP.NET Core .
    • تحديث الإطار الهدف ليكون netcoreapp3.0
    • إزالة أي مرجع الحزمة إلى Microsoft.AspNetCore.App أو Microsoft.AspNetCore.All
    • قم بترقية أي Microsoft Blackor Microsoft.AspNetCore. * تشير الحزمة إلى الإصدار 3.0.0-preview-19075-0444
    • إزالة أي مرجع الحزمة إلى Microsoft.AspNetCore.Razor.Design
    • لتمكين دعم JSON ، أضف مرجع حزمة إلى Microsoft.AspNetCore.Mvc.NewtonsoftJson وقم بتحديث Startup.ConfigureServices للاتصال services.AddMvc().AddNewtonsoftJson()
  • قم بترقية مرجع حزمة Microsoft.AspNetCore.Blazor.Server إلى 0.8.0-preview-19104-04
  • إضافة مرجع حزمة إلى Microsoft.AspNetCore.Components.Server
  • في Startup.ConfigureServices بتبسيط أي مكالمة إلى app.AddResponseCompression لاستدعاء التحميل الزائد الافتراضي دون تحديد WebAssembly أو البيانات الثنائية كأنواع MIME إضافية لضغطها.
  • في Startup.Configure أضف مكالمة إلى app.UseBlazorDebugging() بعد المكالمة الحالية إلى app.UseBlazor<App.Startup>()
  • قم بإزالة أي استخدام غير ضروري لمساحة الاسم Microsoft.AspNetCore.Blazor.Server .

لترقية مكتبة فئة Blazor إلى 0.8.0:


  • استبدل مراجع الحزمة إلى Microsoft.AspNetCore.Components.Browser وقم بتحديث الإصدارات إلى 3.0.0-preview-19075 -0444.
  • في ملف المشروع للمكتبة ، قم بتغيير المشروع SDK من "Microsoft.NET.Sdk.Web" إلى "Microsoft.NET.Sdk.Razor."

Blazor من جانب الخادم هو الآن مكونات ASP.NET Razor في .NET Core 3.0


كما تم الإعلان عن ذلك مؤخرًا ، يتم الآن إرسال Blazor من جانب الخادم كـ ASP.NET Core Razor Components في .NET Core 3.0. لقد قمنا بدمج طراز مكون Blazor في ASP.NET Core 3.0 وقمنا بإعادة تسميته إلى Razor Components. لقد تم تصميم Blazor 0.8.0 الآن على مكونات Razor ويتيح لك استضافة مكونات Razor في المستعرض على WebAssembly.


ترقية مشروع Blazor من جانب الخادم إلى ASP.NET Razor Components في .NET Core 3.0


إذا كنت تعمل مع Blazor من جانب الخادم ، فننصحك بالترقية لاستخدام ASP.NET Razor Components في .NET Core 3.0.


لترقية تطبيق Blazor من جانب الخادم إلى ASP.NET Core Razor Components:


  • قم بتحديث مشروع Blazor من جانب العميل كما هو موضح سابقًا ، فيما عدا استبدال مرجع البرنامج النصي إلى blazor.server.js بمكونات. server.js
  • قم بتحديث تطبيق ASP.NET Core الذي يستضيف مكونات Razor إلى .NET Core 3.0 كما هو موضح سابقًا.
  • في مشروع الخادم:
    • قم بترقية مرجع حزمة Microsoft.AspNetCore.Blazor.Server إلى 0.8.0-preview-19104-04
    • إضافة مرجع حزمة إلى Microsoft.AspNetCore.Components.Server إصدار 3.0.0-preview-19075-0444
    • استبدال العبارة باستخدام Microsoft.AspNetCore.Blazor.Server مع Microsoft.AspNetCore.Components.Server
    • استبدال services.AddServerSideBlazor مع services.AddRazorComponents and app.UseServerSideBlazor with app.UseRazorComponents .
    • في أسلوب Startup.Configure بإضافة app.UseStaticFiles() فقط قبل استدعاء app.UseRazorComponents .
    • انقل المجلد wwwroot من مشروع تطبيق Blazor إلى مشروع خادم ASP.NET Core

التبديل بين مكونات ASP.NET Core Razor و Blazor من جانب العميل


في بعض الأحيان يكون من المناسب أن تكون قادرًا على التبديل بين تشغيل مكونات Razor الخاصة بك على الخادم (مكونات ASP.NET Core Razor) وعلى العميل (Blazor). على سبيل المثال ، قد تعمل على الخادم أثناء التطوير بحيث يمكنك تصحيح الأخطاء بسهولة ، ولكن بعد ذلك يمكنك نشر تطبيقك لتشغيله على العميل.


لتحديث تطبيق Blazor يستضيف ASP.NET Core بحيث يمكن تشغيله كتطبيق ASP.NET Core Razor Components:


  • نقل المجلد wwwroot من مشروع Blazor من جانب العميل إلى مشروع خادم ASP.NET Core.
  • في مشروع الخادم:
    • قم بتحديث علامة البرنامج النصي في index.html للإشارة إلى components.server.js بدلاً من components.webassembly.js .
    • أضف مكالمة إلى services.AddRazorComponents<Client.Startup>() في أسلوب Startup.ConfigureServices .
    • أضف مكالمة إلى app.UseStaticFiles() في أسلوب Startup.Configure قبل استدعاء UseMvc .
    • استبدل استدعاء UseBlazor بـ app.UseRazorComponents<Client.Startup>()

  • إذا كنت تستخدم حقن التبعية HttpClient في HttpClient ، فستحتاج إلى إضافة HttpClient كخدمة في طريقة Startup.ConfigureServices للخادم الخاص بك.

يتم الآن تضمين أدوات لمشاريع Blazor مع Visual Studio 2019


في السابق للحصول على دعم الأدوات لمشاريع Blazor ، كنت بحاجة لتثبيت ملحق Blazor لبرنامج Visual Studio. بدءًا من Visual Studio 2019 Preview 2 ، يتم تضمين دعم الأدوات لمكونات Razor (وبالتالي تطبيقات Blazor) بالفعل دون الحاجة إلى تثبيت أي شيء آخر. ملحق Blazor مطلوب الآن فقط لتثبيت قوالب مشروع Blazor في Visual Studio.


تحسينات وقت التشغيل


يتضمن Blazor 0.8.0 بعض التحسينات في وقت تشغيل .NET مثل تحسين أداء وقت التشغيل على Chrome ورابط IL محسن. في معايير الأداء الخاصة بنا ، أصبح أداء Blazor 0.8.0 على Chrome أسرع بنسبة 25٪ تقريبًا. يمكنك الآن أيضًا الرجوع إلى المكتبات الموجودة مثل Json.NET من تطبيق Blazor دون أي تكوين رابط إضافي:


 @functions { WeatherForecast[] forecasts; protected override async Task OnInitAsync() { var json = await Http.GetStringAsync("api/SampleData/WeatherForecasts"); forecasts = Newtonsoft.Json.JsonConvert.DeserializeObject<WeatherForecast[]>(json); } } 

المشكلات المعروفة


هناك بعض المشكلات المعروفة في هذا الإصدار والتي قد تواجهها:


  • "لم يكن من الممكن العثور على أي إصدار إطار متوافق. لم يتم العثور على الإطار المحدد "Microsoft.NETCore.App" ، الإصدار "2.0.0". " : قد ترى هذا الخطأ عند إنشاء تطبيق Blazor لأن رابط IL يتطلب حاليًا تشغيل .NET Core 2.x. لحل هذه المشكلة، إما تثبيت .NET Core 2.2 أو تعطيل ربط IL عن طريق تعيين <BlazorLinkOnBuild>false</BlazorLinkOnBuild> في ملف المشروع الخاص بك.
  • "غير قادر على توليد deps.json ، ربما تم إنشاؤه بالفعل." : قد ترى هذا الخطأ عند تشغيل تطبيق Blazor مستقل ولم تقم بعد باستعادة الحزم لأي تطبيقات .NET Core. للتغلب على هذه المشكلة ، قم بإنشاء أي تطبيق .NET Core (مثل dotnet new console dotnet dotnet new console ) ثم أعد تشغيل تطبيق Blazor.

ستتم معالجة هذه المشكلات في تحديث Blazor في المستقبل.


التحديثات المستقبلية


ركّز هذا الإصدار من Blazor بشكل أساسي على دمج مكونات Razor الأولى في ASP.NET Core 3.0 ثم إعادة بناء Blazor علاوة على ذلك. للمضي قدماً ، نخطط لشحن تحديثات Blazor مع كل تحديث .NET Core 3.0.


Blazor ، ودعم تشغيل Razor Components على WebAssembly في المستعرض ، لن يتم شحنه مع .NET Core 3.0 ، لكننا نواصل العمل من أجل شحن Blazor في وقت لاحق.


تقديم ملاحظات


نأمل أن تستمتع بإصدار المعاينة الأخير من Blazor. كما هو الحال مع الإصدارات السابقة ، تعد تعليقاتك مهمة بالنسبة لنا. إذا واجهت مشكلات أو كان لديك أسئلة أثناء تجربة Blazor ، فقم بملف المشاكل على GitHub . يمكنك أيضًا الدردشة معنا ومجتمع Blazor على Gitter إذا واجهتك مشكلة أو مشاركة كيفية عمل Blazor لك. بعد أن جربت Blazor لفترة من الوقت ، يرجى إعلامنا برأيك من خلال إجراء الاستبيان الخاص بالمنتج. انقر على رابط الاستبيان الظاهر في الصفحة الرئيسية للتطبيق عند تشغيل أحد قوالب مشروع Blazor:


مسح بليزور


شكرا لمحاولة الخروج Blazor!

Source: https://habr.com/ru/post/ar440544/


All Articles