بلیزور فریمورک وب رایگان و OpenSource مایکروسافت است که به توسعه دهندگان امکان می دهد برنامه های وب را با استفاده از C# و HTML ایجاد کنند.
Blazor WebAssembly:
بلیزور WebAssembly (به اختصار "Wasm") یک مجموعه دستورالعمل است که برای اجرا بر روی هر میزبانی که قادر به تفسیر آن دستورالعمل ها باشد طراحی شده است.
بلیزور برای اجرا از طریق WebAssembly نیازی به نصب دات نت روی کلاینت ندارد.
بلیزور Wasm می تواند به صورت آفلاین کار کند. وقتی اتصال شبکه به سرور قطع شود، برنامه کلاینت میتواند به کار خود ادامه دهد.
فایل blazor.webassembly.js برنامه کلاینت مشتری را بوت استرپ می کند. تمام مجموعههای DLL داتنت مورد نیاز را دانلود میکند، که باعث میشود زمان راهاندازی برنامه در اولین باری که برنامه شما اجرا میشود کندتر از Blazor Server باشد. برای دفعات بعد DLLها توسط مرورگر کش میشوند و زمان راهاندازی بعدی را بسیار سریعتر میکند. Wasm فقط بر روی مرورگرهای جدیدتر کار می کند و برای موتورهای جستجو مناسب نیست (مگر اینکه Pre Render سمت سرور را فعال کنیم)
بلیزور Wasm تا قبل از دات نت ۷ بیش از یک thread را پشتیبانی نمی کرد، بنابراین تمام پردازش ها در thread UI انجام می شد.
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-rc-2
Blazor Server:
در این روش محتوای HTML/CSS سمت سرور ساخته شده و به کلاینت ارسال می شود. هرگونه تغییر در ظاهر باید سمت سرور ایجاد و به کلاینت ارسال شوداین عمل باعث می شود که گزینه مناسب تری برای موتور های جستجو باشد. و زمان راه اندازی اولیه قابل توجهی ندارد.
برنامههای سمت سرور Blazor روی مرورگرهای قدیمیتر (مانند اینترنت اکسپلورر 11) کار میکنند، زیرا نیازی به اسمبلی وب نیست.
بلیزور سمت سرور یک سشن در حافظه برای کلاینت فعلی تنظیم می کند و از SignalR برای برقراری ارتباط بین دات نت در حال اجرا روی سرور و مرورگر کلاینت استفاده می کند.
اگر مرورگر کلاینت و سرور نزدیک نباشند یا اتصال شبکه بین آنها کند باشد، به خصوص زمانی که رویدادهایی به صورت پشت هم باعث تغییر حالت می شوند، این رفت و برگشت می تواند کاربر با کندی عملیات مواجه شود.
در Blazor سرور بر خلاف وب اسمبلی، هنگامی که اتصال از مرورگر به سرور قطع شود، برنامه پاسخگو نیست. Blazor سعی می کند دوباره اتصال به سرور را برقرار کند، اما تا آن زمان برنامه متوقف میشود.
Blazor Hybrid :
بلیزور Hybrid برای ترکیب فریمورک های ویندوزی و موبایل استفاده میشود.
در یک برنامه Blazor Hybrid، اجزای Razor به صورت native روی دستگاه اجرا میشوند. کامپوننت ها به یک کنترل Web View تعبیه شده ارائه می شوند. کامپوننت ها در مرورگر اجرا نمی شوند و WebAssembly دخیل نیست. اجزای Razor کد را به سرعت بارگذاری و اجرا می کنند و اجزا از طریق پلتفرم دات نت به قابلیت های بومی دستگاه دسترسی کامل دارند.
Blazor United:
این برنامهها ترکیبی از Blazor Server و Blazor WebAssembly میباشد. و اجازه میدهد تا توسعهدهندگان بتوانند حالت رندر را با دقت بیشتری تنظیم کنند. این رویکرد بر کاستیهای دانلودی که Blazor WebAssembly به آن نیاز دارد و اتصال SignalR دائماً باز که Server Blazor به آن نیاز دارد، غلبه خواهد کرد. این ورژن از Blazor در دات نت ۸ عرضه خواهد شد.
ASP.NET Core updates in .NET 8 Preview 1 - .NET Blog (microsoft.com)