hello.js

var please = require('share');
console.log('thank you');

Tuesday, 22 May, 2018 UTC

Progressive Web Games

Progressive Web Games

With the recent release of the Progressive Web Apps core guides on MDN, it’s easier than ever to make your website look and feel as responsive as native on mobile devices. But how about games? In this article, we’ll explore the concept of Progressive ... more


Friday, 18 May, 2018 UTC

New in Firefox 61: Developer Edition

New in Firefox 61: Developer Edition

Firefox 61: Developer Edition is available now, and contains a ton of great new features and under-the-hood improvements. A Darker Dark Theme Taking inspiration from Spinal Tap, Developer Edition’s dark theme now darkens more parts of the browser, including ... more


Tuesday, 15 May, 2018 UTC

Debugging Modern Web Applications

Debugging Modern Web Applications

Building and debugging modern JavaScript applications in Firefox DevTools just took a quantum leap forward. In collaboration with Logan Smyth, Tech Lead for Babel, we leveled up the debugger’s source map support to let you inspect the code that you actually ... more


Thursday, 10 May, 2018 UTC

Visualizing Your Smart Home Data with the Web of Things

Visualizing Your Smart Home Data with the Web of Things

Today we’re mashing up two very different applications to make a cool personal dashboard for investigating all our internet-connected things, and their behavior over time. We can use one of the Web Thing API’s superpowers: its flexibility. Like Elastigirl ... more


Wednesday, 9 May, 2018 UTC

Firefox 60 – Modules and More

Firefox 60 – Modules and More

Firefox 60 is here, and the Quantum lineage continues apace. The parallel processing prowess of Quantum CSS is now available on Firefox for Android, and work continues on WebRender, which modernizes the whole idea of what it means to draw a web page. ... more


Friday, 4 May, 2018 UTC

CDN, BCD, and SVG: MDN Changelog for April 2018

CDN, BCD, and SVG: MDN Changelog for April 2018

Editor’s note: A changelog is “a log or record of all notable changes made to a project. [It] usually includes records of changes such as bug fixes, new features, etc.” Publishing a changelog is kind of a tradition in open source, and a long-time practice ... more


Thursday, 3 May, 2018 UTC

Creating Web Things with Python, Node.js, and Java

Creating Web Things with Python, Node.js, and Java

The Mozilla IoT team recently released the Things Framework, which allows you to build IoT devices that speak the Web Thing API. Last week, James built an ESP8266 web thing. This time, I’m going to show you how to build web things with Python, Node.js, ... more


Tuesday, 24 April, 2018 UTC

Testing Strategies for React and Redux

Testing Strategies for React and Redux

When the Firefox Add-ons team ported addons.mozilla.org to a single page app backed by an API, we chose React and Redux for powerful state management, delightful developer tools, and testability. Achieving the testability part isn’t completely obvious ... more


Wednesday, 18 April, 2018 UTC

Hello wasm-pack!

Hello wasm-pack!

As Lin Clark emphasizes in her article about Rust and WebAssembly: the goal of WebAssembly is not to replace JavaScript, but to be an awesome tool to use with JavaScript . Lots of amazing work has been done to simplify crossing the language boundary ... more


Wednesday, 18 April, 2018 UTC

A new video series: Web Demystified

A new video series: Web Demystified

We don’t have to tell you that video is a key channel for sharing information and instructional skills especially for students and developers who’ve grown up with YouTube. At Mozilla, we’ve always been a leader in supporting the open technologies that ... more


Monday, 16 April, 2018 UTC

Build your own web things with the Things Framework

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. In February we announced the 0.3 release of the Things Gateway which bridges existing smart home devices to the ... more


Wednesday, 11 April, 2018 UTC

Sneak Peek at WebAssembly Studio

Sneak Peek at WebAssembly Studio

WebAssembly.Studio is an online IDE (integrated development environment) that helps you learn and teach others about WebAssembly. It’s also a Swiss Army knife that comes in handy whenever working with WebAssembly. We started working on WebAssembly Studio ... more


Friday, 6 April, 2018 UTC

MDN Changelog for March 2018

MDN Changelog for March 2018

Editor’s note: A changelog is “a log or record of all notable changes made to a project. [It] usually includes records of changes such as bug fixes, new features, etc.” Publishing a changelog is kind of a tradition in open source, and a long-time practice ... more


Thursday, 5 April, 2018 UTC

What Makes a Great Extension?

What Makes a Great Extension?

We’re in the middle of our Firefox Quantum Extensions Challenge and we’ve been asking ourselves: What makes a great extension? Great extensions add functionality and fun to Firefox, but there’s more to it than that. They’re easy to use, easy to understand, ... more


Thursday, 5 April, 2018 UTC

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

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


Thursday, 29 March, 2018 UTC

Hack on MDN: Building useful tools with browser compatibility data

Hack on MDN: Building useful tools with browser compatibility data

From Friday, March 16 to Sunday, March 18, 2018, thirty-four people met in Mozilla’s Paris office to work on improving MDN’s Browser Compat Data. The amazing results included 221 pull requests that improved the quality of our data and created, prototyped, ... more


Wednesday, 28 March, 2018 UTC

ES modules: A cartoon deep-dive

ES modules: A cartoon deep-dive

ES modules bring an official, standardized module system to JavaScript. It took a while to get here, though — nearly 10 years of standardization work. But the wait is almost over. With the release of Firefox 60 in May (currently in beta), all major browsers ... more


Tuesday, 20 March, 2018 UTC

Bringing interactive examples to MDN

Bringing interactive examples to MDN

“This is scoped to be a pretty small change.” – me, January 2017. 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 for this was the idea that ... more


Thursday, 15 March, 2018 UTC

Firefox Quantum Extensions Challenge

Firefox Quantum Extensions Challenge

Firefox users love using extensions to personalize their browsing experience. Now, it’s easier than ever for developers with working knowledge of JavaScript, HTML, and CSS to create extensions for Firefox using the WebExtensions API . New and improved ... more


Thursday, 15 March, 2018 UTC

Making WebAssembly better for Rust & for all languages

Making WebAssembly better for Rust & for all languages

One big 2018 goal for the Rust community is to become a web language. By targeting WebAssembly, Rust can run on the web just like JavaScript. But what does this mean? Does it mean that Rust is trying to replace JavaScript? The answer to that question ... more


Friday, 9 March, 2018 UTC

Hands-On Web Security: Capture the Flag with OWASP Juice Shop

Hands-On Web Security: Capture the Flag with OWASP Juice Shop

As a developer, are you confident that you know what you need to know about web security? Wait, maybe you work in infosec. As a security specialist, are you confident that the developers you work with know enough to do the right thing? Often, these aren’t ... more


Wednesday, 7 March, 2018 UTC

Building an Immersive Game with A-Frame and Low Poly Models

Building an Immersive Game with A-Frame and Low Poly Models

Note: This is Part 1 of a two-part tutorial. There is a big difference between immersion and realism . A high-end computer game with detailed models and a powerful GPU can feel realistic, but still not feel immersive. There’s more to creating a feeling ... more


Thursday, 22 February, 2018 UTC

Making a Clap-Sensing Web Thing

Making a Clap-Sensing Web Thing

The Project Things Gateway exists as a platform to bring all of your IoT devices together under a unified umbrella, using a standardized HTTP-based API. We recently announced the Things Gateway and we’ve started a series of hands-on project posts for ... more


Wednesday, 14 February, 2018 UTC

CSS Grid for UI Layouts

CSS Grid for UI Layouts

CSS Grid is a great layout tool for content-driven websites that include long passages of text, and it has tremendous value for a variety of traditional UI layouts as well. In this article I’ll show you how to use CSS Grid to improve application layouts ... more


Friday, 9 February, 2018 UTC

Creating an Add-on for the Project Things Gateway

Creating an Add-on for the Project Things Gateway

The Project Things Gateway exists as a platform to bring all of your IoT devices together under a unified umbrella, using a standardized HTTP-based API. Currently, the platform only has support for a limited number of devices, and we need your help expanding ... more


Thursday, 8 February, 2018 UTC

Forging Better Tools for the Web

Forging Better Tools for the Web

A Firefox DevTools Retrospective 2017 was a big year for Firefox DevTools. We updated and refined the UI, refactored three of the panels, squashed countless bugs, and shipped several new features. This work not only provides a faster and better DevTools ... more


Wednesday, 7 February, 2018 UTC

How to build your own private smart home with a Raspberry Pi and Mozilla’s Things Gateway

How to build your own private smart home with a Raspberry Pi and Mozilla’s Things Gateway

Last year we announced Project Things by Mozilla. Project Things is a framework of software and services that can bridge the communication gap between connected devices by giving “things” URLs on the web. Today I’m excited to tell you about the latest ... more


Thursday, 1 February, 2018 UTC

MDN browser compatibility data: Taking the guesswork out of web compatibility

MDN browser compatibility data: Taking the guesswork out of web compatibility

Building the web is hard The most powerful aspect of the web is also what makes it so challenging to build for: its universality. When you create a website, you’re writing code that needs to be understood by a plethora of browsers on different devices ... more


Tuesday, 30 January, 2018 UTC

Shrinking WebAssembly and JavaScript code sizes in Emscripten

Shrinking WebAssembly and JavaScript code sizes in Emscripten

Emscripten is a compiler toolchain for asm.js and WebAssembly which lets you run C and C++ on the web at near-native speed. Emscripten output sizes have decreased a lot recently, especially for smaller programs. For example, here’s a little C code: #include ... more


Monday, 29 January, 2018 UTC

A rule-based framework to create dynamic themes

A rule-based framework to create dynamic themes

In December, I gave an introduction to the theming API in Firefox. While it allows you to do many things like animated themes, macOS-style overscroll or interactive theme editors, the API has some limitations. One issue with dynamic theming API compared ... more