آشنایی با Blazor WebAssembly

WebAssembly چیست؟

WebAssembly  یک فرمت باینری برای کد در مرورگر است و هنگام اجرا از جاوااسکریپت بسیار سریعتر است و سرعت اجرای آن مانند اجرای برنامه برروی کامپیوتر محلی است. (اطلاعات بیشتر)

در حال حاضر چهار مرورگر اصلی یعنی Edge، Firefox، Chrome و Safari از WebAssembly پشتیبانی می کنتد و به مرور زمان WebAssembly در تمامی مرورگرهای موبایل و Desktop پشتیبانی خواهد شد.

پس WebAssembly  یک تکنولوژی جدید است که امکان اجرایِ کدهایی با عملکرد بالا و سطح پایین در مرورگرها را فراهم می‌کند.

 Blazor چیست؟

تیم Asp.net مجموعه ابزاری به‌نامِ Blazor ساخته‌اند که یک فریمورکِ سمت کلاینت (client side) برای برنامه‌هایِ دات‌نت است. تفاوت این فریمورک با فریمورک های سمت کلاینتِ دیگر این است که مثلا anuglar و react هنگام اجرا، به کدِ جاوا اسکریپت که قابلِ درک برای مرورگرها است تبدیل می شوند. اما Blazor به کد جاوااسکریپت تبدیل نمی‌شود و به WebAssembly کامپایل می‌شود. (اطلاعات بیشتر)

هنگامِ کار با Blazor WebAssembly متوجه می‌شویم که استفاده از #C برای توسعه‌ی سمت کلاینت بسیار جذاب است. استفاده‌ی همزمان از امکانات زبان‌های برنامه‌نویسی در کنار امکاناتی که java script و html و css دراختیار برنامه‌نویس قرار می‌دهد، دستِ متخصصین را برای انجامِ کارهایِ پیچیده‌تر باز می‌گذارد.

اولین ورژن Blazor WebAssembly تازگی و درسال ۲۰۲۰ رونمایی شده و از حالتِ preview خارج شده است. وعده‌ی سرعتِ بالاتر و امنیتِ بیشتر، باعثِ اشتیاقِ مضاعفِ متخصصین جهت استفاده از این فناوری در پروژه‌های خود شده است.

 Blazor WebAssembly چگونه کار می‌کند؟

اولین قدم برای ساخت یک اپلیکیشن PWA مبتنی بر دات‌نت این است که راهی برای اجرای کدهای دات‌نت در داخلِ مرورگرهای وب وجود داشته باشد. این کار امروز  به‌لطفِ WebAssembly انجام می‌شود. WebAssembly در حالِ حاضر توسطِ تمام مرورگرهایِ اصلی پشتیبانی می‌شود. همچنین در دستگاه‌های تلفنِ همراه با حداقلِ اندازه‌ی دانلود و حداکثرِ سرعت اجرا می‌شود.

اپلیکیشن‌های Blazor را می‌توان به‌صورتِ client-side و با استفاده از کدهای سی‌شارپ و به صورت کاملاً درونی در مرورگرها اجرا کرد. این موضوع با استفاده از WebAssembly اتفاق می‌افتد. درواقع با استفاده از این‌کار می‌توان کدهای برنامه‌نویسی را موردِ استفاده‌ی مجدد قرار داده و همچنین بخش‌هایی از کدهای سمتِ سرور برنامه را در سمتِ کلاینت استفاده کرد.

در سمتِ کلاینت اجزای موردِ نیاز به مرور بر روی کامپیوتر یا دستگاهِ تلفن‌همراه ذخیره شده و اصطلاحا کَش می‌شوند. کَش‌شدن در اینجا هم‌معنی نصب‌شدنِ اپلیکیشن است. ارتباط سرور و کلاینت‌ها از طریقِ WebAssembly و کدهای مخصوص کتابخانه‌ای به‌صورتی کاملا امن و با سرعتی مناسب برقرار شده و اپلیکیشن PWA شکل می‌گیرد.

فهرست