موزیلا قابلیت استفاده از WebAssembly را در خارج از مرورگر معرفی کرد

متخصصان موزیلا پروژه WASI (WebAssembly System Interface) را ارائه کردند که شامل توسعه یک API برای ایجاد برنامه های معمولی است که خارج از مرورگر اجرا می شوند. در عین حال، ما در ابتدا در مورد کراس پلتفرم بودن و سطح امنیت بالای چنین برنامه هایی صحبت می کنیم.

موزیلا قابلیت استفاده از WebAssembly را در خارج از مرورگر معرفی کرد

همانطور که اشاره شد، آنها در یک "sandbox" ویژه اجرا می شوند و به فایل ها، سیستم فایل، سوکت های شبکه، تایمرها و غیره دسترسی دارند. در این مورد، برنامه فقط می تواند اقداماتی را انجام دهد که مجاز هستند.

با توجه به اینکه کد شبه WebAssembly یک نوع مستقل از پلتفرم زبان اسمبلر است، استفاده از JIT به شما این امکان را می دهد که به عملکرد کد بالایی در سطح برنامه های کاربردی بومی دست یابید. در حال حاضر، یک پیاده سازی از API های اولیه POSIX (فایل ها، سوکت ها و غیره) ارائه شده است، اما هنوز از قفل ها و I/O ناهمزمان پشتیبانی نمی کند. انتظار می رود در آینده، ماژول هایی برای رمزنگاری، گرافیک سه بعدی، حسگرها و چند رسانه ای ظاهر شوند.

همچنین لازم به ذکر است که پروژه Fastly کامپایلر Lucet را برای برنامه های WebAssembly معرفی کرد. این اجازه می دهد تا برنامه های WebAssembly شخص ثالث به طور ایمن در داخل سایر برنامه ها مانند پلاگین ها اجرا شوند. خود کامپایلر به زبان Rust نوشته شده است و از کدهای C، Rust و TypeScript پشتیبانی می کند.

البته هنوز سوالات زیادی در مورد ایمنی این روش وجود دارد. اجرای کد در sandbox به طرز عجیبی با دسترسی به عملکردهای سیستم اصلی ترکیب شده است، بنابراین این موضوع همچنان نیاز به توضیح دارد. علاوه بر این، مشخص نیست که کدام برنامه ها باید در این حالت اجرا شوند و چگونه رفتار آنها نیاز به نظارت دارد.




منبع: 3dnews.ru

اضافه کردن نظر