وب اسمبلی چی هست و چیکارس؟!
وب اسمبلی یا به طور مختصر WASM، یک زبان شبیه به اسمبلی هست که در مرورگرهای مدرن پشتیبانی میشه (اینجا میتونین ببینین که تقریبا 92.54 درصد مرورگر ها WASM رو پشتیبانی میکنن). این زبان به فرمت باینری هست که درواقع یک زبان سطح پایین (زبانی نزدیک به زبان ماشین) محسوب میشه و درک اون برای مرورگر راحت تر هست.
با استفاده از وب اسمبلی، افراد میتونن امکان انتخاب زبان برنامه نویسی رو داشته باشن؛ یعنی علاوه بر JavaScript (یا TypeScript تو پروژه هایی با مقیاس بزرگ تر)، میتونن از زبان های سطح بالایی مثل C# برای کد زدن استفاده کنن و کدشون توی مرورگر اجرا بشه و حتی در برخی مواقع، سرعت بهتری هم نصیبشون بشه!
پس کسی قرار نیست با این زبان کد بزنه؛ بلکه کدهای نوشته شده به زبان های دیگه، به این زبان ترجمه (compile) میشن (شاید تو مقاله های مختلف هم به مفهوم compile target برخورد کنید).
اما چی باعث میشه که با استفاده از WASM، سرعت بهتری رو تجربه کنیم؟!
جواب های مختلفی برای این سوال وجود داره ولی یکی از ساده ترین دلایل این هست که فایل های JavaScript قبل از اینکه روی مرورگر اجرا بشن، باید از مرحله های مختلفی (parse, compile, optimize) عبور کنن ولی فایل های WASM این قابلیت رو دارن که حین دانلود شدن، پردازش هم بشن.
در نهایت:
یکی از مزیت های JavaScript همیشه این بوده که روی همه مرورگرها قابلیت اجرا داره اما حالا WASM زبانی هست که هم روی همه مرورگرهای مدرن پشتیبانی میشه و هم عملکرد و سرعت خوبی داره و این، یعنی ورود زبانهایی مثل C#, Go, Rust به مرورگرها...! برای مثال Blazor یک فریموورک نسبتا نوپا هست که به ما این امکان رو میده که کد های نوشته شده به زبان C# رو با استفاده از WASM روی مرورگر اجرا کنیم!
اگه میخواین کمی عمیق تر درمورد WASM بخونین، حتما یه سری به اینجا هم بزنید :)