Hello wasm-pack! →

Featured Article

Recent Articles

  • Hello wasm-pack!

    Introducing wasm-pack, a new tool for assembling and packaging Rust crates that target WebAssembly. These packages can be published to the npm Registry and used alongside other packages. This means you can use them side-by-side with JS and other packages, and in many kind of applications.

  • A new video series: Web Demystified

    This post introduces Web Demystified, a new video series targeting web makers -- everyone who builds things for the web: designers, developers, project and team managers, students, hobbyists, and experts. Our goal is to provide basic information for beginners, with subject matter that will also serve as a refresher on web fundamentals - beginning with episodes that describe the web itself, and HTML, its first language.

  • Build your own web things with the Things Framework

    Last year Mozilla started Project Things to help developers connect physical “things” to the web in a safe, secure and interoperable way. Now, with the 0.4 release of the Things Gateway, you can add native web things to your gateway, to control them alongside all your other smart home devices. The advantage of native web things is that they don’t need a custom gateway adapter because they follow a common standard using existing web technologies.

  • Sneak Peek at WebAssembly Studio

    WebAssembly.Studio is an online IDE (integrated development environment) that helps you learn and teach others. It’s also a Swiss Army knife that comes in handy whenever working with WebAssembly (WASM). WebAssembly is a low-level assembly-like language that runs with near-native performance and provides languages such as C/C++/Rust with a compilation target so that they can run on the web. WASM is also designed to run alongside JavaScript.

  • MDN Changelog for March 2018

    Publishing a changelog is a tradition in open source, and a long-time practice on the web. In this changelog, MDN engineers report on what happened in March to the code, data, and tools that support MDN Web Docs, and look ahead to what's on plan for this month. Learn more about the work of the MDN engineering team and their impact, and discover opportunities to participate in building and supporting MDN Web Docs and the open web platform.

  • What Makes a Great Extension?

    We’re in the middle of our Firefox Quantum Extensions Challenge so we’ve been pondering what makes a great extension. Great browser extensions add functionality and fun to Firefox, but there’s more to it than that. They’re easy to use, easy to understand, and easy to find. If you’re building an extension, Dustin Driver offers some simple steps to help it shine. The Quantum Extensions Challenge is running until April 15, 2018. Prizes will be awarded to the top extensions in three categories: Games & Entertainment, Dynamic Themes, and Tab Manager/Organizer. Enter today and keep making awesome extensions!

  • JavaScript to Rust and Back Again: A wasm-bindgen Tale

    Recently we’ve seen how WebAssembly is incredibly fast to compile, speeding up JS libraries, and generating even smaller binaries. We’ve even got a high-level plan for better interoperability between the Rust and JavaScript communities, as well as other web programming languages. The goal of wasm-bindgen is to provide a bridge between the types of JavaScript and Rust. It allows JS to call a Rust API with a string, or a Rust function to catch a JS exception. wasm-bindgen erases the impedance mismatch between WebAssembly and JavaScript, ensuring that JavaScript can invoke WebAssembly functions efficiently and without boilerplate, and that WebAssembly can do the same with JavaScript functions.

  • Hack on MDN: Building useful tools with browser compatibility data

    The MDN team is migrating browser compatibility data into a JSON database to make it more useful and extensible for web developers. On a recent weekend in Paris, a group of Mozillians and friends gathered to work on projects to improve and extend the BCD data. The Hack on MDN event combined unconference and hackathon; participants pitched projects and committed to working on concrete tasks. Check out the brilliant results of their collaboration.

  • ES modules: A cartoon deep-dive

    ES modules bring an official, standardized module system to JavaScript. With the release of Firefox 60 in May, all major browsers will support ES modules, and there is current work to add ES module support to Node.js, as well as ES module integration for WebAssembly. Lin Clark's deep dive illustrates how ES modules work, what problem they solve, and how they are different from modules in other module systems.

  • Shipping a security update of Firefox in less than a day

    One of Mozilla’s top priorities is to keep our users safe; this commitment is written into our mission. As soon as we discover a critical issue in Firefox, we plan a rapid mitigation. This post describes how we fixed a Pwn2Own exploit discovery and released new builds of the browser in less than 22 hours, through the collaborative and well-coordinated efforts of a global cross-functional team.

  • Bringing interactive examples to MDN

    Over the last year and a bit, the MDN Web Docs team has been designing, building, and implementing interactive examples for our reference pages. The motivation was to do more on MDN for people who like to learn by seeing and playing around with example code. We've just finished adding interactive examples for the JavaScript and CSS reference pages. This post looks back at the project to see how we got here and what we learned on the way.

Browse All Articles →