Menu

JavaScript News

Oh, the Places JavaScript Will Go

November 19th, 2019

I tend to be pretty vocal about the problems client-side JavaScript cause from a performance perspective. We’re shipping more JavaScript than ever to our user’s devices and the result is increasingly brittle and resource-intensive experiences. It’s… not great. But that doesn’t mean I don’t like JavaScript. On the contrary, I enjoy working in JavaScript quite…

The Communal Cycle of Sharing

November 18th, 2019

What I’m interested in this year is how we’re continuing to expand on tools, services, and shared side projects to collectively guide where we take the web next, and the way we’re sharing that. So many other mediums—mostly analog ones—have been around for ages and have a deeper history. In the grand scheme of things,…

The Kind of Development I Like

November 18th, 2019

I’m turning 40 next year (yikes!) and even though I’ve been making websites for over 25 years, I feel like I’m finally beginning to understand the kind of development I like. Expectedly, these are not new revelations and my views can be summed up by two older Computer Science adages that pre-date my career. Composition…

Ways to Organize and Prepare Images for a Blur-Up Effect Using Gatsby

November 18th, 2019

Gatsby does a great job processing and handling images. For example, it helps you save time with image optimization because you don’t have to manually optimize each image on your own. With plugins and some configuration, you can even set up image preloading and a technique called blur-up for your images using Gatsby. This helps…

An Early Look at the Vue 3 Composition API in the Wild

November 13th, 2019

I recently had an opportunity to try the new Vue Composition API in a real project to check where it might be useful and how we could use it in the future. Until now, when we were creating a new component we were using Options API. That API forced us to separate the component’s code…

Making an Audio Waveform Visualizer with Vanilla JavaScript

November 12th, 2019

As a UI designer, I’m constantly reminded of the value of knowing how to code. I pride myself on thinking of the developers on my team while designing user interfaces. But sometimes, I step on a technical landmine. A few years ago, as the design director of wsj.com, I was helping to re-design the Wall…

When to Use SVG vs. When to Use Canvas

November 12th, 2019

SVG and canvas are both technologies that can draw stuff in web browsers, so they are worth comparing and understanding when one is more suitable than the other. Even a light understanding of them makes the choice of choosing one over the other pretty clear. A little flat-color icon? That’s clearly SVG territory. An interactive…

scrapestack: An API for Scraping Sites

November 12th, 2019

Not every site has an API to access data from it. Most don’t, in fact. If you need to pull that data, one approach is to “scrape” it. That is, load the page in the web browser (that you automate), find what you are looking for in the DOM, and take it. You can do…

Working with Fusebox and React

November 8th, 2019

If you are searching for an alternative bundler to webpack, you might want to take a look at FuseBox. It builds on what webpack offers — code-splitting, hot module reloading, dynamic imports, etc. — but code-splitting in FuseBox requires zero configuration by default (although webpack will offer the same as of version 4.0). Instead, FuseBox…

Query JSON documents in the Terminal with GROQ

November 7th, 2019

JSON documents are everywhere today, but they have rarely structured the way you want them to be. They often include too much data, have weirdly named fields, or place the data in unnecessary nested objects. Graph-Relational Object Queries (GROQ) is a query language (like SQL, but different) which is designed to work directly on JSON…