Blazor Server و Blazor Web Assembly چیست؟؟
Blazor WebAssembly بر روی کلاینت در مرورگر اجرا میشود. هر آنچه را که برای مرورگر لازم دارد از جمله HTML، CSS، شاید یکسری جاوا اسکریپت، و احتمالاً تصاویر را دانلود میکند. همچنین اسمبلیهایی که برنامه را تشکیل میدهد را دانلود میکند و .Net Runtimeکامل را که به WebAssembly bytecode تبدیل میشود را دانلود میکند. همه اینها به طور کامل در WebAssembly اجرا میشوند، که بخشی از همه مرورگرهای وب اصلی است، از جمله مرورگرهای موبایل. این نوع برنامه Blazor نیازی به کانکت شدن به سرور ندارد؛ فقط باید در مرورگر بارگیری شود و تمام.
یک برنامه Blazor WebAssembly از فایلهای استاتیک تشکیل شده است، بنابراین برای دریافت این با مرورگر نیازی به سرور کامل و تمام عیار ندارید. شما میتوانید فایلهای استاتیک را در یک CDNهاست کنید که نسبتاً ارزان است و عملکرد بالایی دارد. همچنین میتوانید آن را بر روی یک سرور در فضای ابری، در مرکز داده خودتان، یا هر جای دیگری هاست کنید.
مزایا
اجرای نزدیک به Native، اجرای برنامه شما در webassemble سریع است.
برنامه میتواند کاملا آفلاین کار کند.
بدون نیاز به سرور، شما نیازی به نگهداری سرور و ساده نگه داشتن معماری ندارید. این به پردازش منابع در دستگاه کلاینت نیاز دارد.
بدون پلاگین مورد نیاز، WebAssembly بخش native تمام مرورگرهای اصلی است. همه فایلهای استاتیک را به مرورگر میبرد.
بر روی همه مرورگرهای مدرن اجرا میشود.
معایب
محدود به قابلیتهای مرورگر است. همه چیز را در مرورگر دانلود میکند از جمله NET runtime. را.
مرورگر همه کارها را انجام میدهد.
دانلود موارد بیشتر زمان بارگیری را طولانی تر میکند.
Secret یا Key به کانکت شدن به API نیاز دارد، باید در سمت کلاینت دانلود شود و راهی برای رمزگداری وجود دارد که امن نیست.
WebAssembly مورد نیاز، گاهی اوقات برنامه شما بر روی مرورگر قدیمی اجرا میشود که WebAssembly را ندارد و در این صورت برنامه کار نمیکند.
Blazor Server
Blazor Serverیک برنامه Blazor سمت سرور است. برنامه در وب سایت ASP.NET اجرا میشود که بر روی NET runtime. اجرا میشود. سپس این وب سایت به وب سایت Blazor سرویس میدهد و از طریق کانکشن WebSocket که از طریق SignalR استفاده میشود، Blazor را بارگیری میکند. با استفاده از این روند، آپدیتهای UI در زمان واقعی از سرور انجام میشود. به نظر پیچیده میآید، اما برای ساختن این کار نیازی نیست که کار خاصی انجام دهید. همه اینها نیاز به پیکربندی و انجام کار خاصی ندارند.
مزایا
دانلود کمتر و بارگیری سریعتر
فریم ورک کامل ASP.NET
WebAssembly مورد نیاز نیست
استفاده از Secretها یا Keyهای سمت سرور ایمن هستند
معایب
آفلاین را پشتیبانی نمیکند
به محیط یا سروری نیاز دارد که روی ASP.NET Core اجرا میشود
مقیاس پذیری کمتری دارد
نویسنده: ایمان مدائنی
منبع: سایت تاپلرن
*نظر خود را در مورد این مطلب با ما در میان بگذارید.*