Blazor چیست؟
Blazor یک چارچوب آزمایشی از تیم ASP.NET است. هدف آن این است که یک framework استثنایی یک صفحه ای (SPA) ارائه کند که به توسعه دهندگان اجازه می دهد تا C # و Razor را بنویسند و از طریق WebAssembly در مرورگر اجرا کنند.
در گذشته جاوا اسکریپت برای توسعه دهندگان Client-Side، به نوعی یک انتخاب انحصاری بحساب میومد. در واقع شما به عنوان یک توسعه دهنده اگر framework ی مانند angulare، react و .. را هم انتخاب میکردید اما واقعیت این است که انتهای همه اینها باز هم به جاوا اسکریپت ختم میشود. بهتره بدونید که WebAssemply امده تا همه چیزو تغییر بده. WebAssemply یک زبان "اسمبلی مانند" سطح پایین با فرمت باینری جمع و جور است که راه را برای اجرای کدهای چند زبانه در وب با سرعت بالا فراهم می کند.
WebAssembly و C#
جاوا اسکریپت یک زبان قدرتمند است اما دارای معایبی است. برخی از این معایب توسط TypeScript بدرستی رفع شده است. با این حال، استفاده از C # برای توسعه سمت کلاینت client-side میتواند جذاب باشد و البته دلایل زیر را نیز داشته باشد
- C# یک زبان بسیار قدرتمند و غنی است که میتواند موفقیت هر پروژه و تیمی را با هر اندازه ای فراهم کند
- کد C # موجود را می توان دوباره و دوباره استفاده کرد
- ASP.NET Core یک چارچوب برنامه نویسی قدرتمند برای توسعه وب سرور است. فعال کردن C # در کلاینت به تیم اجازه می دهد که از یک پشته تکنولوژی مشترک در سرور و سرویس گیرنده استفاده کند.
Mono یک پیاده سازی منبع باز از .Net framework مایکروسافت مبتنی بر استانداردهای ECMA برای C # و CLR است. در سال 2017، تیم Mono اولین نتایج خود را از تلاش برای آوردن مونو و به همراه آن C #، CLR و .NET Framework - به WebAssembly منتشر کرده است.
و امروز تیم ASP.NET اعلام کرد که: Blazor برای سازماندهی ASP.NET حرکت کرده است و ما یک مرحله آزمایشی را شروع می کنیم تا ببینیم آیا می توانیم آن را به یک محصول حمل و نقل پشتیبانی کنیم. این یک گام بزرگ به جلو است!
با مقدمه ای که گفته شد احتمالا به تعریفی درست از Blazor رسیده اید.
Blazor چیست؟
Blazor یک چارچوب برای برنامه های مبتنی بر مرورگر (کلاینت) نوشته شده در دات نت است، که تحت WebAssembly اجرا می شود. این روش به شما تمام مزایای یک پلت فرم ثروتمند و یکپارچه مدرن (SPA) را می دهد، در حالی که اجازه می دهد از تمامی ویژگی های دات نت استفاده کنید، از جمله به اشتراک گذاری کد در سرور و سرویس گیرنده.
اجرای .Net در مرورگرها
اولین قدم برای ساخت یک چارچوب SPA مبتنی بر دات نت این است که راهی برای اجرای کد دات نت در داخل مرورگرهای وب داشته باشید. که این کار امروز به لطف WebAssembly انجام میشود.
WebAssembly در حال حاضر توسط تمام مرورگرهای اصلی پشتیبانی میشود، از جمله در دستگاه های تلفن همراه. این یک فرمت باکیفیت، جمع و جور بهینه شده با حداقل اندازه دانلود و حداکثر سرعت اجراست. با وجود اینکه بسیاری از برنامه نویسان در ابتدا نگران امنیت موضوع بودند اما امروز میدونیم که هیچ نگرانی از بابت امنیت در این مقوله وجود ندارد.
اجرای .NET در مرورگر، شروع خوبی است، اما کافی نیست. برای ساختن یک برنامه، شما نیاز به یک مجموعه منسجم از راه حل های استاندارد برای مشکلات استاندارد دارید! مانند ترکیب و استفاده مجدد UI، آزمایش واحد، بهینه سازی ساخت، و .. که اینها توسط نقاط قوت دات نت و زبان C # پوشش داده میشوند. این دقیقا همان مفهوم Blazor است که الهام گرفته از چارچوب های مهم امروزی مانند SPA ، React، Vue و Angular وRazor Pages است. هدف این است : آنچه که باعث موفقیت توسعه دهندگان وب شده است را، به شیوه ای متناسب با دات نت انجام دهیم.

دیدگاه کاربران