Wasmer, разработчик технологии, использующей формат двоичных инструкций WebAssembly (Wasm), представляет WASIX, спецификацию и набор инструментов, расширяющих WASI (системный интерфейс WebAssembly) для создания приложений с полной совместимостью с Posix (интерфейс переносимой операционной системы). Цель состоит в том, чтобы упростить компиляцию в Wasm.
Объявленный 30 мая как расширенный набор WASI, WASIX можно использовать как для создания приложений, так и для завершения сред выполнения, поддержки потоков, сокетов Беркли, разветвления и других возможностей, доступных практически на протяжении всего жизненного цикла Posix. По словам Васмера, при разработке WASIX команда и сообщество Wasmer работали над улучшением существующего WASI ABI, стабилизируя его и делая более совместимым с Posix. Сторонники считают, что WASIX упростит компиляцию любых приложений в Wasm, который призван обеспечить высокую производительность веб-приложений и позволить использовать в браузере другие языки, помимо JavaScript. Спецификацию WASIX можно найти на сайте wasix.org. Разработчики могут попробовать WASIX на сайте wasmer.sh.
Конкретные аспекты WASIX включают долгосрочную стабилизацию и поддержку существующего WASI ABI и дополнительных неинвазивных расширений системных вызовов, которые заполняют недостающие пробелы, позволяя компилировать и использовать практические приложения прямо сейчас. Возможности WASIX:
- Наборы инструментов для компиляции Rust и C/C++, которые сейчас доступны в предварительной версии, с ожидаемой в ближайшем будущем поддержкой апстрима для AssemblyScript, а также поддержкой Zig.
- Поддержка среды выполнения, начиная со среды выполнения Wasmer, но с более ожидаемыми
- Работает в браузерах или на серверах
- Поддержка многопоточности
- Поддержка сокетов, включая IPv4 и IPv6.
- Асинхронный опрос сокетов и файлов
- Поддержка телетайпа
- разрешение DNS
По словам Васмера, несмотря на то, что WASI был амбициозным проектом и до сих пор поддерживается, его медленный темп итераций сдерживал продвижение Wasm. WASI был представлен Mozilla в марте 2019 года, чтобы обеспечить согласованный механизм взаимодействия приложений WebAssembly с любой операционной системой, при этом WebAssembly может работать снаружи и внутри сети. Posix, который восходит к 1980-м годам, был стандартом IEEE, определяющим API-интерфейсы для программного обеспечения, совместимого с версиями Unix, включая некоторые дистрибутивы Linux.
Далее прочитайте это:
- Лучшее программное обеспечение с открытым исходным кодом 2022 года
- Разработчики не хотят заниматься операциями
- 7 причин, почему Java по-прежнему великолепна
- Почему Wasm — это будущее облачных вычислений
- Почему оценки программной инженерии — это мусор
- Объяснение непрерывной интеграции и непрерывной доставки