JavaScript Articles
-
The Baseline Interpreter: a faster JS interpreter in Firefox 70
Modern web applications load and execute a lot more JavaScript code than they did just a few years ago. While JIT (just-in-time) compilers have been very successful in making JavaScript performant, we needed a better solution. We’ve added a new, generated JavaScript bytecode interpreter to the JavaScript engine in Firefox 70. Instead of writing a new interpreter from scratch, we found a way to do this by sharing most code with our existing Baseline JIT. Meet the new Baseline Interpreter.
-
Firefox 68: BigInts, Contrast Checks, and the QuantumBar
Firefox 68 is available today, sporting support for big integers, whole-page contrast checks checks for accessibility, and a completely new implementation of a core Firefox feature: the ever-awesome URL bar. Dan Callahan also reports on updated CSS scroll-snapping and other features, DOM API updates, next steps in the WebRender implementation, and more.
-
JavaScript and evidence-based language design
In what ways can empirical evidence be used in the design of a language like JavaScript? At TC39, as stewards of the JavaScript specification, how do we answer questions about the design of JavaScript and help make it accessible to the thousands of new coders who join the industry each year? To answer this we need to experiment, and I need your help.
-
Pyodide: Bringing the scientific Python stack to the browser
Pyodide is an experimental project from Mozilla to create a full Python data science stack that runs entirely in the browser. We think it’s worthwhile to work on moving the JavaScript data science ecosystem forward, and that's why we built and released Iodide earlier this year. In the meantime, we’re meeting data scientists where they are by bringing the popular and mature Python scientific stack to the browser.
-
A Homepage for the JavaScript Specification
Ecma TC39 has shipped a website for following updates to the JavaScript specification. It's the first part of a two-part project to help people find the information they need in order to understand the specification and our process. The current website is a simple MVP that provides links to our most significant documents, as well as a list of proposals that are near completion. We will experiment with other features as the need arises.
-
Iodide: an experimental tool for scientific communication and exploration on the web
Meet Iodide, an experimental open source tool to help scientists write beautiful interactive documents using web technologies, all within a browser-based iterative workflow that will be familiar to many scientists.
-
Announcing a New Management Structure for Ecma TC39
In 2019, Ecma’s TC39—the standardizing body behind JavaScript/ECMAScript—will change its management structure to reflect the growth of the committee and the frequency of its meetings. TC39 will move away from single-chair and vice-chair roles to a flat hierarchy with three chairs sharing the responsibility. Congratulations to new co-chairs Aki Braun (PayPal), Brian Terlson (Microsoft), and Yulia Startsev (Mozilla).
-
Refactoring MDN macros with async, await, and Object.freeze()
In January, the MDN engineering team landed a major refactoring of the KumaScript codebase, the underlying Node server that runs macros in Kuma, which is the wiki that powers MDN. This work included some modern techniques of interest to JavaScript programmers.
-
Firefox 65: WebP support, Flexbox Inspector, new tooling & platform updates
Firefox 65 ships today with some notable Firefox Devtools updates, including the release of the CSS Flexbox Inspector, a new changes panel, and more. We're shipping CSS platform improvements and updates to a variety of JavaScript APIs. Firefox 65 supports the WebP image format, and support for AV1, an open and royalty-free video compression format, is shipping now in Firefox 65 for Windows.
-
Calls between JavaScript and WebAssembly are finally fast 🎉
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.