Wasmer 4.0, a runtime for performing WebAssembly modules, is now available for development. This project is written in Rust, subject to the MIT license. With this runtime, developers can create universal applications that can be performed on different operating systems while also executing code that is not trustworthy.
One of the key features of this runtime is the ability to launch one application on different platforms. This is accomplished by compiling the code in the low-level intermediate code of WebAssembly, which can be launched on any OS or integrated into programs written in other programming languages. Applications are created as lightweight containers that include the WebAssembly pseudo-code, which is not tied to any operating system.
Applications are isolated from the main system in the Sandbox-reduction and have access only to the declared functionality. Access management and interaction with the system are ensured using the API WASI (WebAssembly System Interface), which provides software interfaces for working with files, sockets, and other functions provided by the operating system.
The platform allows developers to achieve the performance of applications close to the implementation of native assemblies. It is possible to supply pre-compiled programs with a built-in Wasmer. To create superstructures and additions, the Rust API and WASM-C-API can be used.
To launch the WebAssembly Conster, developers simply need to install the runtime Wasmer in the system. This is supplied without external dependencies and can be done by running the command “Curl https://get.wasmer.io -sfl | SH”. Programs are distributed in the form of conventional WebAssembly modules, for which the package manager WAPM can be used. Wasmer is also available in the form of a library that can be used to embed WebAssembly code in programs in Rust, C/C++, C#, D, Python, JavaScript, GO, PHP, Ruby, Elixir, and Java.
Overall, Wasmer 4.0 offers powerful tools for developers to create universal applications and execute untrusted code, while also providing sandbox isolation and access management. The platform is available in various forms, including a runtime, library, and package manager, and supports a wide range of programming languages.