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.

wasmerlogo

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.

wasmericon

More Information

Wasmer On GitHub

wasmer.io

Related Articles

Wasmer 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.

Banner


Knuth's Xmas Lecture 2024 - Strong And Weak
22/12/2024

Could  the festive season be complete without Donald Knuth putting on his flamboyant xmas top and talking to us about something that most of us know nothing about? Of course not.



PlanetScale Gets Into Vector Search
02/12/2024

PlanetScale, the cloud MySQL-compatible database with advanced scaling capabilities, is now upgraded with vector storage and search.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 12 November 2024 )