Full house for @soyuka at #SymfonyCon! He is presenting how to compile PHP into #WebAssembly and how to run #Symfony or any other PHP project directly in the browser, without the need for a server.
"#WAMR is a lightweight standalone WebAssembly (Wasm) runtime with small footprint, high performance and highly configurable features for applications cross from embedded, IoT, edge to Trusted Execution Environment (TEE), [...], cloud native and so on."
Looks neat, especially the different running modes look useful:
Spoke at the #GDG Santiago de Compostela 🎒🐚 #DevFest yesterday (in broken-ish Spanish, but the slides are in English) on going "From Web SQL to #SQLite implemented in #WebAssembly and backed by the Origin Private File System" (OPFS): https://goo.gle/devfest-santiago.
Even if you don't care about how we got there (that is, why Web SQL was deprecated), the SQLite and the OPFS parts are super exciting technologies well worth your attention—and they work in all modern browsers!
One of the best SIMD intro articles I've ever come across thus far. Very nicely explains all the core concepts and operations, lots of sketches/diagrams... Noice! 👏
Btw. If you're using TypeScript/JavaScript, you can play with some of these concepts/ops directly from the REPL using https://thi.ng/simd. This package uses WASM behind the scenes, but doesn't expose the full set of available SIMD instructions (it's a lil' bit more highlevel...)
"The thing is that maximal tree-shaking for languages with a thicker run-time has not been a huge priority. Consider Go: according to the #golang wiki, the most trivial program compiled to #WebAssembly from Go is 2 megabytes, and adding imports can make this go to 10 megabytes or more. Or look at Pyodide, the Python WebAssembly port: the REPL example downloads about 20 megabytes of data. These are fine sizes for technology demos or, in the limit, very rich applications, but they aren't winners for web development.
[...]
I work on the #Hoot#Scheme compiler, which targets #Wasm with GC. We manage to get down to 70 kB or so right now, in the minimal "main" compilation unit, and are aiming for lower; auxiliary compilation units that import run-time facilities (the current exception handler and so on) from the main module can be sub-kilobyte. Getting here has been tricky though, and I think it would be even trickier for #Python."
I’m really excited about the impending release of support for #Wasi Preview 2 and the component model into the Rust toolchain. #WebAssembly is about to get even more exciting.
Also I'd be curious to know if Safari is working on it, I can't seem to find any info about that. 🤔 (maybe you can point me in the right direction @jensimmons?)
Onyx, a new programming language powered by WebAssembly (wasmer.io)
Learn about Onyx, a new imperative programming language that leverages WebAssembly and Wasmer for seamless cross-platform support