#546 — July 9, 2021 |
JavaScript Weekly |
The State of Web Workers in 2021 — The web is typically single-threaded, but two years ago Surma told us why to always use Web Workers to bring multithreading to your solutions despite the difficulties. Almost every client supports them now, so Surma makes the case again and explains why Web Workers deserve a place in your projects. Surma |
How Jake Archibald |
Uptime Monitoring Is Now Available in AppSignal — Uptime monitoring is the first line of defense against downtime. Ping your apps every minute from 4 locations around the world and receive alerts when something is down. Now you'll know about downtime before your users do. AppSignal sponsor |
Dan Abramov |
A Look at Building with Astro — Astro, which we featured a month ago, is a new framework for building sites where you get to use JavaScript frameworks but sites are rendered in static form. Chris Coyier |
Elementary: React-Inspired Functional, Declarative Audio Applications — Can writing audio DSP software be “simple, fast and fun”? Not up until now, but Elementary intends to change all that, and thus lowering the barriers to entry for this burgeoning field. Nick Thompson |
Quick Bits
Releases Highlight.js 11.1 — Web syntax highlighter library. |
|
📖 Articles, Opinions & Tutorials |
TypeScript and Native ESM on Node.js — This topic comes up time and time again, and for good reason - it’s the way things are headed. Dr. Axel covers the essentials you need to know in order to use and produce native ECMAScript/ES modules on Node when using TypeScript. Dr. Axel Rauschmayer |
How to Use Dmitri Pavlutin |
Ultimate Guide to Building a UI Library: Building Robust Components — TJ VanToll shares what he’s learned from over a decade of writing and working with UI components. Go to the blog series. Progress KendoReact sponsor |
When a Click is Not Just a Click — There are nuances to consider when listening for a click event (such as a ‘click’ sent from a keyboard versus one from a mouse). This post dives into how you can distinguish different types, and what opportunities arise from identifying them. Travis Almand |
▶ Using Deno Deploy to Release Super Fast Cloud Functions — Jack promises a look into the “potential JavaScript future” by building a chat app using Deno (a Node-a-like built by Node’s original author, no less) and deploying it on the Deno Deploy platform. This is easy to understand and follow along with, and the approach taken feels so natural. Jack Herrington |
Breaking Down Bulky Builds with Netlify and Next.js — Using Next.js’ Incremental Static Regeneration (ISR) coupled with on-demand builders and Netlify’s Next on Netlify build plugins to create a site that builds certain routes only when needed, cutting the build time down dramatically. Átila Fassina |
The Ultimate Guide to Cardinality for Observability Lightstep sponsor |
How to Structure a Large Scale Vue.js App |
What Is WebAssembly — and Why Are You Hearing So Much About It? |
|
html2canvas 1.0: A JavaScript HTML Renderer — Take screenshots of pages or elements of pages and render them to canvas. There’s a live demo to the bottom right of the homepage. GitHub repo. Niklas von Hertzen |
pdfmake: Client/Server Side PDF Generation in Pure JavaScript — There’s a live playground of it in action, plus lots of code examples of how to use it to various ends. Built on top of pdfkit. Bartek Pampuch |
Fuzzball: Fuzzy String Matching Library — To tackle those cases where what’s typed isn’t quite what’s indexed. There’s a neat tree-themed Web-based demo. GPL licensed. Nolan |
Understanding and Preventing Common Security Vulnerabilities — Join Buildkite on a tour of some of the most common security problems companies face, and how you can prevent them. Buildkite sponsor |
Mantine 2.0: Full Featured React Component Library — An MIT licensed, TypeScript-based collection of over 100 components and hooks with native dark theme support and a focus on usability and accessibility. Plenty of documentation and examples. Mantine Team |
imask.js: A Vanilla JavaScript Input Mask — Rather than validate the syntax of input fields, how about preventing users from even entering invalid values? imaskjs |
TypeBox: JSON Schema Type Builder with Static Type Resolution for TypeScript — A type builder library that creates in-memory JSON Schema objects that can be statically resolved to TypeScript types. Haydn Paterson |
fzstd: High Performance Zstandard Decompression in a Pure JS Package |
Johnny Five 2.1: A JavaScript Robotics and IoT Programming Framework |
Vue 3 Starter: An Opinionated Starter Template for Vue.js Projects |