دسته بندی ها
13:21 1399/09/20

فرق بین (Blazor Client (web Assembly و Blazor Server چیست ؟

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : Asp.net Core Blazor

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 7210
پاسخ دهنده : fateme 13:38 1399/09/21

تفاوت Blazor Client Side و Blazor Server Side

تفاوت blazor client side و server side

 

بلیزر یا Blazor یکی تکنولوژی های جدید مایکروسافت هست که هدف اصلی اون ایجاد صفحات تک صفحه ای یا Single Page Application می باشد. در سپتامبر 2019 نسخه Blazor Server Side به همراه Core 3.0 ارایه شد و در ماه مه سال 2020 یعنی یکسال بعد هم نسخه Blazor Client Side که Blazor Web Assembly هم گفته میشه به همراه Core 5.0 ارایه شد.

 

برخی از ویژگیهای Blazor Server Side

در مدل Blazor Server Side یا میزبانی سمت سرور، بلیزر از داخل یک برنامه Asp.net Core از داخل سرور اجرا می شود. یعنی همه عملیات توسط سرور انجام می شود و نتیجه نهایی به کلاینت ارجاع داده می شود. به روزرسانی های سمت کلاینت و مدیریت رویدادهای کاربر در مدل سمت سرور از طریق یک اتصال SignalR انجام می شود.

 

در مدل Blazor Server Side :

  • کدهای سی شارپ مربوط به Blazor در سمت سرور اجرا می شود.
  • برای دسترسی به کدهای Dom یا همان Html از جاوااسکریپت استفاده می شود.
  • پیامهای بین سرور و کلاینت و به روزرسانی های صفحه از طریق SignalR انجام می شود.
  • در صورت تغییر DOM یا Html سرور پیامهای بروزرسانی را به عقب برمیگرداند تا نتیجه به کاربر نمایش داده شود.

 

برخی از ویژگیهای Blazor Client Side یا Web Assembly

در مدل Blazor Client Side، برنامه Blazor همه کتابخانه ها و وابستگی های مربوط به .Net را از سرور دانلود کرده و روی مرورگر کلاینت بارگزاری می کند و برنامه مستقیما روی UI مرورگر اجرا می شود. ضمنا همه بروزرسانی ها و تغییرات رابط کاربری در همان لحظه و روی مرورگر کاربر اجرا می شود.

 

در مدل Blazor Web Assembly

  • مدل WASM روی مرورگر کاربر اجرا می شود و از توانایی حافظه و CPU کلاینت استفاده می کند.
  • اولین اجرای پروژه ممکن است قدری کند باشد. چون در اولین اجرا بایستی برخی فایلهای مورد نیاز مثل CLR و WebAssembly و ... دانلود شود.
  • اجرای دستورات Blazor در کلاینت به صورت کاملا ایمن صورت می پذیرد. (secure WASM sandbox)
  • در این مدل Blazor به DOM به صورت مستقیم دسترسی دارد.

 

مزایا و معایب Blazor Server Side

مزایا

  • بارگزاری سریعتر نسبت به روش WASM
  • دسترسی به منابع ایمن مانند دیتابیس
  • پشتیبانی از اکثر مرورگرها. مدل WASM از برخی از مرورگرهای قدیمی تر پشتیبانی نمی کند.
  • کدهای سی شارپ به سمت مرورگر ارسال نمی شود.
  • پشتیبانی محتوا توسط موتورهای جست و جو

 

معایب

  • داشتن تاخیر اضافی به دلیل ارسال مرتب اطلاعات به سمت جلو و عقب برای به روزرسانی اطلاعات
  • پشتیبانی آفلاین ندارد.
  • نیاز به سرور دارد.
  • مقیاس پذیری می تواند چالش برانگیز باشد.

 

مزایا و معایب Blazor WebAssembly

مزایا

  • کدنویسی سریعتر در سمت UI
  • عملکرد بهتر کدها
  • پشتیبانی به صورت آفلاین
  • قابلیت استفاده از CDN بدون نیاز به سرور
  • پشتیبانی از نسخه های قدیمی سی شارپ مثل سی شارپ 2

 

معایب

  • سخت بودن اشکال زدایی
  • چهت دسترسی به منابع ایمن مثل دیتابیس نیاز به لایه امنیتی و API دارد.
  • عدم پشتیبانی مناسب توسط موتورهای جست و جو

 

نتیجه گیری

اگر تعداد کاربران شما خیلی زیاد است و کدهای شما خیلی مهم و حساس نیست مدل WASM مناسب می باشد اما اگر احساس می کنید کدهای شما خیلی حساس و مهم است بهتر است از مدل Server Side استفاده کنید.

ویرایش شده در جمعه 24 اسفند 1403 ساعت 18:00:49
به این پاسخ امتیاز بدهید    8
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود