Wasmer 5 Adds iOS Support |
Written by Alex Denham | |||
Tuesday, 12 November 2024 | |||
The Wasmer team has released Wasmer 5.0. The WebAssembly runtime adds experimental support for more back ends including V8, Wasmi and WAMR. It also now has iOS support, and upgraded compilers including using LLVM 18 and latest Cranelift. Wasmer is a fast and secure WebAssembly runtime that enables lightweight containers to run anywhere, including the desktop, cloud, edge and in browsers. Wasmer is designed to be secure by default, and does not access any files, network resources or the local environment unless explicitly enabled. It supports WASIX and WASI (WebAssembly System Interface) out of the box. WASI is a collection of standards-track API specifications for software compiled to the W3C WebAssembly (Wasm) standard. WASIX consists of WASI plus additional non-invasive syscall extensions. Wasmer is designed to run WebAssembly at near-native speeds, and to be embeddable anywhere via Wasmer SDKs. The new support for extra back ends was prompted by requests from the Wasmer user community. When asked which back ends they would like to see Wasmer support, over half asked for V8 (the engine behind Google's Chrome JavaScript runtime) support, along with interpreter support. The support integrates the back ends via the Wasm-C-API , as they all share this external interface. The additions also means any interpreter or runtime that supports the Wasm-C-API spec can be integrated into Wasmer. This release also adds the ability to use WebAssembly on iOS devices through a new interpreted mode. The Wasmer team had hoped that the support for JavacriptCore in Wasmer that was added last year would enable a fast runtime on iOS since the JIT would be unrestricted. They say that unfortunately, from iOS 14, Apple has capped the ability of using WebAssembly via JavascriptCore. In order to find a way around the limitations, Wasmer 5 uses the capabilities of V8, Wasmi and WebAssembly Micro Runtime (WAMR) to give developers a way to run WebAssembly modules seamlessly on iOS without needing to change their codebase. Away from the new features, the team has worked on making the Wasmer codebase leaner. This has partially been achieved by removing support for Emscripten. The rationale for this is that Emscripten bindings have been mostly unused in the last two years, partially because Emscripten emits code using WASI system calls so doesn't need special bindings. This version includes the latest Cranelift and LLVM 18 compilers. The team says the updated Cranelift integration results in significant runtime speed improvements, and the inclusion of LLVM 18 improves compatibility and performance. Wasmer 5 is available now. More InformationRelated ArticlesWasmer JS SDK - WebAssembly In The Browser The WinterJS Javascript Runtime Is Asking For Your Attention Wasmer's py2wasm Compiles Python To WebAssembly WCGI Is WebAssembly + Old School CGI To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Tuesday, 12 November 2024 ) |