برنامه های وب امروزی به هیچ وجه سریع و پاسخگو به اندازه برنامه های دسکتاپ بومی نیستند، اما اگر این امکان وجود داشته باشد چه می کنید؟ این وعده WebAssembly است.

 
WebAssembly یک زبان کم سطح و شبه مونتاژ با یک قالب باینری فشرده است که با عملکرد تقریباً طبیعی در مرورگرهای وب اجرا می شود. در عین حال، WebAssembly یک هدف تلفیقی انتقال پذیر برای C/C++ ، C# ، Rust ، Go ،Kotlin ، Swift و سایر زبانهای برنامه نویسی فراهم می کند.

Binaryen: یک کتابخانه زیرساخت ابزار کامپایلر برای WebAssembly است. Binaryen که به زبان ++C نوشته شده است، در نظر دارد تا کامپایل به WebAssembly را آسان، موثر و سریع انجام دهد.

Blazor WebAssembly: چارچوبی برای ایجاد برنامه های وب تعاملی، سمت مشتری، تک صفحه ای با استفاده از NET. و میزبانی این برنامه ها در مرورگرهای مدرن (از جمله مرورگرهای تلفن همراه) در اجراکننده NET. مبتنی بر WebAssembly است.

Cheerp Leaning Technologies: به عنوان یک کامپایلر درجه ++C/C برای وب قرار گرفته و C و ++C تا C++ 17 را در WebAssembly ، JavaScript یا ترکیبی از این دو جمع می کند. Cheerp در زیرساخت LLVM/Clang، با بهینه سازی های سفارشی برای بهبود عملکرد و به حداقل رساندن اندازه خروجی کامپایل شده ادغام شده است.

CheerpJ: این کامپایلر مبتنی بر LLVM که به عنوان “کامپایلر جاوا برای وب” در نظر گرفته شده است، هر برنامه کاربردی مشتری جاوا را به WebAssembly ،JavaScript و HTML تبدیل می کند و برنامه های مشتری Java را قادر می سازد تا در مرورگرهای مدرن اجرا شوند. CheerpJ از سه جز components استفاده می کند: یک کامپایلر AOT (زودتر از موعد)، یک اجراکننده در WebAssembly و JavaScript و API های قابلیت همکاری JavaScript DOM، برای دسترسی به DOM از جاوا.

Emscripten: این ابزار کامپایلر منبع باز، C و ++C یا هر زبان دیگری را با استفاده از فناوری کامپایلر LLVM، برای استقرار در وب، Node.js یا اجراکننده Wasm مانند Wasmer، در WebAssembly وارد می کند.
 
Forest: یک زبان برنامه نویسی کاربردی است که در WebAssembly کامپایل می شودهدف در Forest تهیه زبانی است که ایجاد برنامه های وب پیچیده، تعاملی و کاربردی را آسان کند، اما بدون هزینه های سنتی این روش.

Grain: در وب سایت این پروژه آمده است، زبان Grain ویژگی هایی را از زبان های آکادمیک و کاربردی به قرن 21 می آورد. از طریق ابزار Binaryen و زیرساخت کامپایلر، به WebAssembly وارد می شود، Grain می تواند در مرورگر، سرور و به طور بالقوه در هر مکان اجرا شود.
JWebAssembly: از I-Net Software، یک کد بایتی جاوا به کامپایلر WebAssembly است که فایلهای کلاس Java را به عنوان ورودی می گیرد و قالب باینری WebAssembly (فایل wasm.) یا قالب متن (فایل wat.) را به عنوان خروجی تولید می کند. هدف این است که به طور طبیعی در مرورگر با WebAssembly اجرا کنید.

Pyodide: این پروژه که اخیراً از موزیلا به یک پروژه مستقل تبدیل شده است، پایتون و پشته علمی پایتون را به WebAssembly کامپایل می کند و به این ترتیب اجراکننده Python 3.8 ،NumPy ،SciPy ،Matplotlib ، Scikit-learn و ده ها بسته دیگر را به مرورگر وارد می کند.

TeaVM: یک کامپایلر فراتر از زمان خود برای bytecode جاوا است، WebAssembly و JavaScript را برای اجرا در مرورگر منتشر می کند. با این حال، توجه داشته باشید که پشتیبانی WebAssembly در حال حاضر آزمایشی است.

بیشتر بدانید: https://lnkd.in/dRDX6C9