دسته بندی ها
18:18 1403/12/24

Blazor Web App چیست ؟ فرقش با Blazor Server و Web Assembly چیست ؟

مشخصات سوال کننده :
کاربر : hakan2025     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Blazor

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 488
هوش مصنوعی

پاسخ هوش مصنوعی

Blazor Web App یک نوع پروژه برای ساخت برنامه های تحت وب است که از تکنولوژی Blazor استفاده می کند. Blazor به توسعه دهندگان این امکان را می دهد که از زبان C# و .NET برای ساخت اپلیکیشن های وب استفاده کنند و به جای JavaScript، می توانند منطق برنامه را با C# پیاده سازی کنند.

Blazor دو مدل اصلی برای ساخت برنامه های وب دارد: Blazor Server و Blazor WebAssembly. در اینجا به تفاوت های اصلی آن ها اشاره می کنیم:

  • Blazor Server: در این مدل، اپلیکیشن تمام منطق خود را در سرور اجرا می کند و تنها رابط کاربری (UI) به مرورگر منتقل می شود. برقراری ارتباط بین سرور و کلاینت از طریق سیگنالR انجام می شود و وقتی کاربر با UI تعامل می کند، اطلاعات به سرور فرستاده می شود و نتایج باز می گردد.
  • Blazor WebAssembly: در این مدل، اپلیکیشن به طور کامل در مرورگر اجرا می شود. Blazor WebAssembly از WebAssembly برای اجرا شدن استفاده می کند و به این ترتیب، کل اپلیکیشن می تواند به صورت مستقل از سرور عمل کند. این مدل مناسب تر برای اپلیکیشن هایی است که به عملکرد بالا و کمترین وابستگی به سرور نیاز دارند.
  • Blazor Web App: این گزینه جدید معمولاً انتظار می رود شامل پشتیبانی از Blazor Server و Blazor WebAssembly باشد. به عبارت دیگر، شما می توانید تصمیم بگیرید که آیا می خواهید اپلیکیشن خود را با استفاده از Blazor Server یا Blazor WebAssembly توسعه دهید.

بنابراین، اصلی ترین تفاوت های بین این سه نوع در محل اجرای کد و مدل ارتباطی بین سرور و کلاینت می باشد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 11:58 1403/12/27

آشنایی با Blazor Web App

مایکروسافت در نسخه دات نت 8 از Blazor Web App رونمایی که کرد که با نسخه های قبلی Blazor یعنی Blazor Server Side و Blazor Web Assembly تفاوت هایی رو داره. البته نکته اینجاست که شما در نسخه Web App توانایی استفاده از نسخه های قبلی رو هم به طور همزمان دارید. یعنی شما می تونید پروژه ای از نوع Web App داشته باشید که برخی قسمت های اون از Server Side و برخی قسمت ها هم از Web Assembly استفاده کنید و در برخی قسمت ها هم از هیچ کدام از این ها استفاده نکنید. در واقع نسخه Web App انعطاف بسیار بالایی رو در اختیار برنامه نویسان خودش قرار میده.

همان طور که می دونید در نسخه Blazor Server Side برای تعامل با کاربر از SignalR استفاده می شد و نرم افزار یک Web Socket برای تعامل با کاربر باز می کرد و تا زمانی که تعامل ادامه داشت این سوکت برقرار بود. همچنین در نسخه Web Assebly هم کلیه فایل ها و اسمبلی های مورد نیاز به سمت کلاینت ارسال و در مرورگر کلاینت ذخیره می شد. اما در نسخه Web App شما علاوه بر اینکه می توانید از هر دو مورد به طور همزمان استفاده کنید می توانید برای تعامل با کاربر از JavaScript هم استفاده کنید.

تفاوت های Blazor Server Side و Web Assembly

 

اما اگر بخوام بیشتر به خود Blazor Web App بپردازم میشه گفت این نسخه از Blazor ترکیبی از نسخه های قبلی Blazor و حتی Asp.net Core هست. در این نسخه شما می تونید برای ساخت صفحات از Http مثل Asp.net Core هم استفاده کنید. به طور پیش فرض در این نوع از پروژه ما تعاملی با کاربر نداریم و نحوه تعامل را باید خود برنامه نویس تعیین کند. در واقع این نوع از پروژه به Static Server Side Rendering (SSR) مشهور هست.

با توجه به اینکه به طور پیش فرض تعامل خاصی در این حالت تعریف نشده است بنابراین سرعت لود صفحات در Web App بسیار بالاتر از حالات قبلی می باشد. همچنین از لحاظ SEO بسیار کارآمدتر و بهینه تر از حالات قبلی می باشد.

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

در Blazor Web App قابلیت های زیادی نسبت به نسخه های قبلی اضافه شده که برخی از اونها عبارتند از:

ویرایش شده در دوشنبه 27 اسفند 1403 ساعت 17:37:51
به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود