WebAssembly ، یک فناوری جدید مهیج است که به مرورگرها اجازه می دهد کد محلی و سطح پایین را اجرا کنند ، ممکن است به حریم خصوصی و امنیت اینترنت همانطور که ما می شناسیم پایان دهد.

 

WebAssembly چیست؟

به طور خلاصه ، WebAssembly یک runtime است که به مرورگرها اجازه می دهد کد  native را اجرا کنند. وقتی می گویم native منظورم کدی است که به زبانهای سطح پایین مانند C ، C ++ ، Rust و غیره نوشته شده است.

برنامه نویسی webassembly

این یک نمودار ساده از اصول WebAssembly است. کامپایلر کد را به زبانی سازگار با LLVM از ورودی می گیرد و یک فایل دودویی .wasm تولید می کند.
این فایل توسط لایه interop جاوا اسکریپت بارگیری و به کد JS موجود متصل می شود و سپس فایل .wasm توسط زمان اجرا WebAssembly اجرا می شود.
WebAssembly اکنون بطور کامل در تمام مرورگرهای اصلی پذیرفته شده و پشتیبانی می شود.

 

WebAssembly چه کاری می تواند انجام دهد؟

WebAssembly عملکردی استثنایی دارد. به این  معنا که وب سایت های شما می توانند تقریباً به سرعت نرم افزارهای معمولی رایانه در خارج از مرورگر کار کنند.
من نمی توانم به اندازه کافی استرس داشته باشم که این انقلابی است. به مرورگرها اجازه می دهد تا نرم افزارها و بازی هایی را اجرا کنند که به دلیل مشکلات عملکردی قبلاً در دسترس نبودند. این تجربه های پیچیده WebVR را امکان پذیر می کند. WebAssembly می تواند Chromebook ها را واقعاً مفید کند.

blazor چیست

یکی از اپلیکیشن های WebAssembly بسیار جالب ، Blazor مایکروسافت است. کاری که مایکروسافت انجام داده است ، اساساً انتقال کل پلتفرم .NET به WebAssembly است و افزودن کتابخانه UI به آن.
این بدان معنی است که اگر شما یک توسعه دهنده NET هستید ، بدون اینکه واقعاً کاری انجام دهید ، فقط توسعه برنامه های وب را آموخته اید.

 

چگونه می توان از آن بهره برداری کرد؟

راه های زیادی وجود دارد. به دلیل غیرقابل خواندن بودن پرونده های .wasm امکان پذیر شده اند. هنوز هم می توان آنها را از دی کامپایل و آنالیز کرد ، اما این کار به سادگی prettify جاوا اسکریپت نیست.
یک اسکریپت کوچک ردیابی ممکن است در یکی از کتابخانه هایی که وب سایت از آن استفاده می کند وجود داشته باشد و هیچ کس در مورد آن اطلاعاتی نداشته باشد. بنابراین ، حفاظت از ردیابی ، هم شخص اول (Firefox) و هم شخص ثالث (پلاگین ها) کار نمی کنند.
ثانیا ، افزایش عملکرد به این معنی است که وب سایت ها اکنون می توانند از سخت افزار شما استفاده بهتری داشته باشند. به عنوان مثال استخراج ارز رمزنگاری شده. و دوباره ، مسدود کردن آن بسیار دشوار خواهد بود.

در آخر، موارد امنیتی وجود دارد. با این قدرت و دسترسی سطح پایین ، حملات خاص (brute-force) و آسیب پذیری ها امکان پذیر است. ما فقط امیدواریم که جامعه متن باز هم ادامه داشته باشد.

source: medium.com

blazor WebAssembely برنامه نویسی طراحی سایت وب اپلیکیشن وب اسمبلی