WebAssembly is an assembly language for a conceptual machine, not a physical one. This is why it can be run across a variety of different machine architectures. WebAssembly needs a system interface for a conceptual operating system, not any single operating system. This way, it can be run across all different OSs. WASI is a system interface for the WebAssembly platform that will be a true companion to WebAssembly and uphold the key principles of portability and security.
Starting today, the Rust 2018 edition is in its first release. With this edition, we’ve focused on making Rust developers as productive as they can be. Most of the language changes are completely compatible with existing Rust code. Because they don’t break any code, they also work in any Rust code… even if that code doesn’t use Rust 2018. This is because of the way the language is evolving. Lin Clark illustrates and explains.
The post Rust 2018 is here… but what is it? appeared first on Mozilla Hacks – the Web developer blog.
People have a misconception—they think that the WebAssembly that landed in browsers back in 2017—is the final version. In fact, we still have many use cases to unlock, from heavy-weight desktop applications, to small modules, to JS frameworks, to all the things outside the browser… Node.js, and serverless, and the blockchain, and portable CLI tools, and the internet of things.
The WebAssembly that we have today is not the end of this story—it’s just the beginning.
The post WebAssembly’s post-MVP future: A cartoon skill tree appeared first on Mozilla Hacks – the Web developer blog.
At Mozilla, we want WebAssembly to be as fast as it can be. This started with its design, which gives it great throughput. Then we improved load times with a streaming baseline compiler. With this, we compile code faster than it comes over the network. Now, in the latest version of Firefox Beta, calls between JS and WebAssembly are faster than many JS to JS function calls. Here’s how we made them fast – illustrated in code cartoons.
A secret project has been brewing for JSConf EU, and this weekend is the big reveal… The Arch is a a larger-than-life experience that uses 30,000 colored LEDs to create a canvas for light animations. And you can take charge of this space. Using modules, you can create a light animation. But even though this […]
At Mozilla, we closely track threats to users’ privacy and security. This is why we’ve added tracking protection to Firefox and created the Facebook container extension. In today’s cartoon intro, Lin Clark describes two new initiatives we’re championing to close data leaks that have been part of the domain name system since it was created 35 years ago: DNS over HTTPS, a new IETF standard, and Trusted Recursive Resolver, a new secure way to resolve DNS that we’ve partnered with Cloudflare to provide.
Lin Clark illustrates how ES modules work, what problem they solve, and how they are different from modules in other module systems.
People call WebAssembly a game changer because it makes it possible to run code on the web faster. Some speedups are already present, and some are yet to come. With streaming compilation, the browser compiles the code while the code is still being downloaded. Up until now, this was just a potential future speedup. But with the release of Firefox 58 next week, it becomes a reality. Firefox 58 also includes a new 2-tiered compiler. The new baseline compiler compiles code 10–15 times faster than the optimizing compiler. Combined, these two changes mean we compile code faster than it comes in from the network.
Over the past seven months, we’ve been rapidly replacing major parts of the engine, introducing Rust and parts of Servo to Firefox. Plus, we’ve had a browser performance strike force scouring the codebase for performance issues, both obvious and non-obvious.
We call this Project Quantum, and the first general release of the reborn Firefox Quantum comes out tomorrow.