Специалисти от Mozilla представиха проекта WASI (WebAssembly System Interface), който предвижда разработването на API за създаване на обикновени приложения, работещи извън браузъра. В този контекст се акцентира на кросплатформеността и високото ниво на сигурност на тези приложения.

Както се посочва, те се изпълняват в специална "пясъчна" среда и имат достъп до файловете, файловата система, мрежовите сокети, таймерите и други подобни. Въпреки това, програмата може да извършва само изрично разрешени действия.
Като се има предвид, че псевдокодът на WebAssembly е платформа-независим вариант на Assembler, използването на JIT ще позволи постигането на висока производителност на кода, сравнима с тази на необработени приложения. В момента е налична реализация на основните POSIX API (файлове, сокети и т.н.), но все още няма поддръжка за блокировки и асинхронен вход/изход. В бъдеще се очаква появата на модули за криптография, работа с 3D графика, сензори и мултимедия.

Също така, трябва да се отбележи, че проектът Fastly представи компилатора Lucet за WebAssembly приложения. Той позволява безопасно изпълнение на странични програми на WebAssembly в рамките на други приложения, например, е подходящ за плъгини. Самият компилатор е написан на Rust и поддържа код на C, Rust и TypeScript.
Разбира се, все още остават много въпроси относно безопасността на този подход. Изпълнението на кода в "пясъчната" среда е доста странно в съчетание с достъпа до функции на основната система, така че този въпрос все още изисква уточняване. Освен това, не е ясно кои точно програми трябва да работят в този режим и как трябва да се следи тяхното поведение.
Източник: 3dnews.ru
